随笔分类 - 分布式
摘要:为了保证分布式环境下数据强一致性,需要引入分布式事务,而分布式事务由于网络环境的不确定性,天生就很难实现。具体可以见上一篇。 分布式下,我想要强一致性 为了保证分布式事务的正确性,目前互联网领域有几种流行的解决方案,但是大部分都没有像XA事务一样形成标准的工业规范。但是这些方案在某些特定的行业或者业
阅读全文
摘要:分布式系统可以总结为是处于不同物理位置的多个进程组成的整体,为了确保这个整体有效并且高效的对外提供服务,每个节点之间都有可能需要进行通信来交换信息,而这个交换信息的过程多数使用的是tcp协议。tcp协议是位于ip层之上的传输层协议,在这个传输层里有两个比较重要的协议:tcp和udp。对于应用层的开发
阅读全文
摘要:分布式系统 身为二十一世纪的一名程序员,没听说过分布式系统就显得自己好像没有女票一样尴尬。无论是出去面试跟面试官吹水,还是在工作中和同事吹水,分布式系统永远是你显得高人一等的筹码。分布式系统已经诞生了好几十年,说起来比我们八零后程序员好要老成,随着现代互联网的崛起,对于系统在性能,可靠性上的要求大大
阅读全文
摘要:异步处理模型 一旦谈到分布式,微服务等这些具有很高逼格的代名词,总能让你在面试中脱颖而出,不是因为这些词的英文翻译的好,而是现代互联网乃至企业级开发确实在分布式,微服务等模式下取得了良好的架构效果。无论是微服务,还是之前的SOA,总是离不开异步处理模型,小到程序中IO的处理,大到系统间的消息交互,处
阅读全文
摘要:毫不犹豫的说,现代高速发展的互联网造就了一批又一批的网络红人,这一批批网红又极大的催生了特定平台的一大波流量,但是留给了程序员却是一地鸡毛,无论是运维还是开发,每天都会担心服务器崩溃,程序down机。还是怀念以前那些单机结构呀,甚至有点嫉妒那些做内网几乎没有访问量的应用的程序员,不用加班,不用提心吊
阅读全文
摘要:Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为消息队列使用也不在少数,可见redis在互联网中应用是多么的广泛。 redis作为消息队列使用,re
阅读全文
摘要:菜菜哥,你上次讲的kubernetes我研究了一下,你再给我讲讲docker呗 docker可很流行呀 kubernetes是容器编排技术,容器不就是指的docker吗? docker可不等于容器哦,docker只算是容器的一种吧,算了容器的典型代表 在传统的软件部署方式中,程序员需要把要发布的应用
阅读全文
摘要:菜菜哥,我昨天又请假出去面试了 战况如何呀? 多数面试题回答的还行,但是最后让我介绍微服务和kubernetes的时候,挂了 话说微服务和kubernetes内容确实挺多的 那你给我大体介绍一下呗 可以呀,不过要请和coffee哦 在很多项目的发展初期,都是小型或者大型的单体项目,部署在单台或者多台
阅读全文
摘要:菜菜哥,你换形象啦? 这么巧,你也换啦!听说是不会画画的菜嫂经过九牛二虎之力的功劳哦!鼓掌...... 前几天我出去面试了,面试官问我微服务的知识,我回答的可好了 看来微服务你真的下功夫研究了呀 是呀是呀,但是碰到一个问题,有状态的服务是什么意思呢? 看来你又挂在这个问题上了,且听这次分解 对于初学
阅读全文
摘要:菜菜哥,上次听你讲了微服务和SOA,明白了很多道理 看来面试用上了吧 呵呵,但是面试官问我微服务有什么优点和缺点... 看来还得给你详细讲一讲微服务 微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部
阅读全文
摘要:菜菜哥,我最近需要做一个项目,老大让我用微服务的方式来做 那挺好呀,微服务现在的确很流行 我以前在别的公司都是以SOA的方式,SOA也是面向服务的方式呀 的确,微服务和SOA有相同之处 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好
阅读全文
摘要:菜菜哥,告诉你一个消息 你有男票啦? 非也非也,我昨天出去偷偷面试,结果又挂了 哦,看来公司是真的不想让你走呀 面试官让我说一下乐观锁和悲观锁,我没回答上来,回来之后我查了,数据库没有这两种锁呀 了解这两种锁之前,我觉得你需要先了解一下数据库的锁机制 开局 我们平时编写程序的时候,有很多情况下需要考
阅读全文
摘要:菜菜哥,我最近终于把Socket通信调通了 这么底层的东西你现在都会了,恭喜你离涨薪又进一步呀 http协议不也是利用的Socket吗 可以这么说,http协议是基于TCP协议的,底层的数据传输可以说是利用的socket 既然Socket通信会了,那一个rpc的框架不就很容易就能实现了吗? 一个比较
阅读全文
摘要:菜菜哥,上次你给我讲的分库分表策略对我帮助很大 有帮助就好,上次请我的咖啡也很好喝~ 呵呵,不过随着访问量的不断加大,网站我又加了nginx做负载均衡 好呀,看来要进阶高级工程师啦~ 负载均衡也很简单呀,一个nginx就搞定了,现在可以说我精通负载均衡了吧 其实负载均衡的内容还有很多 一个系统发展初
阅读全文
摘要:随着互联网大潮的到来,越来越多网站,应用系统需要海量数据的支撑,高并发、低延迟、高可用、高扩展等要求在传统的关系型数据库中已经得不到满足,或者说关系型数据库应对这些需求已经显得力不从心了。关系型数据库经过几十年的发展已经很成熟,强大的sql语句支持,完美的ACID属性的支持,使得关系型数据库广泛应用
阅读全文
摘要:菜菜哥,上次听你给我讲了分库的情况后,我明白了很多,能再给我讲讲分表吗 有收获就好,分表其实有很多情况和分库类似 还有不一样的情况吗? 有呀,本来数据库和表是不同层面的东西,肯定有差异 那你给讲讲呗 讲可以,一杯coffee如何? 为什么分 在正式开始之前,菜菜还是要强调一点,你的数据表是否应该分,
阅读全文
摘要:菜菜哥,请你看电影呀,但是得帮我一个忙 好呀,看什么? 哥斯拉2:怪兽之王 看过了~ X战警:黑凤凰 看过了 追龙2和黑衣人呢? 都看过了,你说帮什么忙吧 我一个网站响应特别慢,你帮我优化一下呗,很简单 你以为真的很简单吗? 你以为真的很简单吗? 网站响应时间是指系统对请求作出响应的时间。通俗来讲就
阅读全文
摘要:菜菜哥,复联四上映了,要不要一起去看看? 又想骗我电影票,对不对? 呵呵,想去看了叫我呀 看来你工作不饱和呀 哪有,这两天我刚基于redis写了一个分布式锁,很简单 不管你基于什么做分布式锁,你觉得很简单吗?来来来 在计算机世界里,对于锁大家并不陌生,在现代所有的语言中几乎都提供了语言级别锁的实现,
阅读全文
摘要:菜菜哥,今天天气挺热的,我都穿裙子了 说吧,什么事?? 苦笑一下..... 老大说把所有的接口都改成异步操作 异步好呀,最少比同步能提高吞吐量 异步是怎么回事呢,能讲讲不? 来,凑近一点,哥给你解释一番 关于异步的定义,网上有很多不同的形式,但是归根结底中心思想是不变的。无论是在http请求调用的层
阅读全文
摘要:菜菜哥,有个事你还得帮我呀 呦西,YY妹子,最近天这么热了,你怎么还穿这么多? 苦笑一下.....前几天写了几个接口,领导让提高一下接口吞吐量 这是你技术提高的大好机会呀 可吞吐量是什么呀?怎么提高呢? 来,凑近一点,哥给你解释一番 百科 吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成
阅读全文