分布式专题
分布式相关的技术话题
world6
这个作者很懒,什么都没留下…
展开
-
zookeeper的zab协议工作原理之 崩溃恢复模式
上篇 zookeeper的zab协议工作原理之 原子广播 介绍了 zookeeper 广播的原理。下篇 来详细的讲解 崩溃恢复模式 的原理一、什么情况下zab协议会进入崩溃恢复模式? 1、当服务器启动时 2、当leader 服务器出现网络中断,崩溃或者重启的情况 3、当集群中已经不存在过半的服务器与Leader服务器保持正常通信。二、zab协议进入崩溃恢复模式会做什么? 1、...原创 2018-04-09 22:02:52 · 3999 阅读 · 1 评论 -
zookeeper的zab协议工作原理之原子广播
说zab协议之前必须提一下 paxos 协议 paxos协议主要就是如何保证在分布式环网络环境下,各个服务器如何达成一致最终保证数据的一致性问题ZAB协议,基于paxos协议的一个改进。zab协议为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议zookeeper并没有完全采用paxos算法, 而是采用zab Zookeeper atomic broadcast zab协议...原创 2018-04-09 10:41:57 · 1693 阅读 · 0 评论 -
zookeeper的选举机制
一、Zookeeper选举机制Zookeeper虽然在配置文件中并没有指定master和slave但是,zookeeper工作时,会选出一个节点为leader,其他则为follower下面来聊聊是如何选出leader的。leader选举的算法有三种:leaderElection/AuthFastLeaderElection/FastLeaderElection其中FastLeaderElectio...原创 2018-04-08 21:05:57 · 665 阅读 · 0 评论 -
如何用zookeeper 实现分布式锁
一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、分布式锁设计原理图1、基于排它锁:让所有的客户端(A B C)都在指定的Locks节点下 创建一个同名的节点lock,利用ZK 节点名称的唯一性来做限制, 谁创建成功了谁就获取到了锁,否则就是没有获取到。这种设计比较简单2、基于共享锁:1、在当前节点下创建临时...原创 2018-04-08 20:48:59 · 522 阅读 · 0 评论 -
详解zookeeper的配置文件
zoo.cfg配置文件分析tickTime=2000 zookeeper中最小的时间单位长度 (ms) initLimit=10 follower节点启动后与leader节点完成数据同步的时间 syncLimit=5 leader节点和follower节点进行心跳检测的最大延时时间 dataDir=/tmp/zookeeper 表示zookeeper服务器存储快照文件的目录 dataLogD...原创 2018-03-29 10:16:55 · 2237 阅读 · 0 评论 -
动物园园长 zookeeper
zookeeper是一个开源的分布式协调服务中间件zookeeper能做什么?数据的发布/订阅(配置中心:disconf) 、 负载均衡(dubbo利用了zookeeper机制实现负载均衡) 、命名服务、 master选举(kafka、hadoop、hbase)、分布式队列、分布式锁zookeeper的特性:顺序一致性:从同一个客户端发起的事务请求,最终会严格按照顺序被应用到zookeeper中原...原创 2018-03-27 11:54:51 · 865 阅读 · 0 评论 -
再谈session 和 cookie的差异
我们都知道 session是存储在服务器端的,cookie是存储在客户端的;他们两者之间又有什么联系呢?这点要先从HTTP先说起。HTTP协议是一种无状态的 通信协议 。那么这就以为着 客户端按道理是需要每次请求之前都要和服务器做连接的。 但是每次都进行这种连接,会非常耗时,并且这些重复的网络请求的意义都不大,所以如何避免这些重复的工作就成为了聪明人们发挥聪明的地方了。cookie的...原创 2018-03-05 21:18:58 · 223 阅读 · 0 评论 -
什么是Restful
Restful 一直都在听,一直都在用,但就是搞不懂什么是restful,因为说不出个所以然出来。为什么说一直都在用呢,我们随便打开一个大型网站的网址,基本都是 restful 风格的 。比如:http://www.imooc.com/course/programdetail/pid/31restful有什么用呢?使用web标准来做一个准则和约束。RESTful的基本概念 1.在...原创 2018-03-22 11:45:02 · 481 阅读 · 0 评论 -
HTTP 通信协议
首先我们看看URL 跟 URI 有什么区别。URI 指的是 服务器 资源的名字。 来看看什么是URI https://www.zhihu.com/question/44323871/answer/347628315 这个地址是知乎上的一个问题,/question/44323871/answer/347628315 这个问题作为知乎的一种资源。 其中 /question/443...原创 2018-03-22 11:33:53 · 390 阅读 · 0 评论 -
为什么会要序列化
对 java对象的传输 是通过网络的 。然后网络都是通过字节传输的 所以需要用序列化的方式 将java对象转化为 字节,然后网络那头的接受端,拿到收到的字节 再反序列化出来一个对象,用来保证 java的对象能够跨进程传输。总结了一下 序列化的几个要点: 1.在java中,只要一个类实现了java.io.Serializable接口,那么它就可以被序列化 2.通过ObjectOutputSt...原创 2018-03-21 21:19:36 · 656 阅读 · 0 评论 -
TCP IP 里的网络请求 到底是什么样的?
当我输入 一个url 在浏览器的地址栏按下回车 这个以前也写过博客了:一次URL输入域名按下回车到底发生了什么?今天聊聊 传输层 在中间做了什么事:如果我输出 慕课网 的网址:www.imooc.com首先我会去请求 慕课网的 ip 地址: 我请求的的数据包入下图:如图所示: 第一行是我电脑发出去 数据链路层的数据包。第二行 是 笔记本的 mac 地址 ,请求会请求...原创 2018-03-16 14:26:57 · 602 阅读 · 0 评论 -
聊聊TCP传输的滑动窗口协议的演进
写这篇文章前,我有些肺腑之言想感谢一下我的微信好友“风大”。 是他给了我信心,原来没有很难的技术,只要你肯努力总能赶上其他人。 后来关注他的博客后,发现他尽然觉得弄懂hashmap的 最好办法是自己实现一个hashmap。一开始我也是不懂为什么要这样,后来发现读懂hashmap之后,再自己实现的时候,刚好可以读懂hashmap中那些设计巧妙的地方,发现自己与大师的差距。最后我也总结了一...原创 2018-03-05 22:52:10 · 340 阅读 · 0 评论 -
为什么要用分布式架构,又为什么要用微服务?
上次面试时经常被问到一个问题,你为什么要用dubbo?由于经验尚浅,实在是没说得明明白白。我用了dubbo后,我就可以这样调接口,巴拉巴拉,说到底还是争不过面试官问:那照你这么说,我不用分布式架构也可以完成啊,你只是说了用了分布式架构后业务处理的方法,并没有弄懂里面的原因。结果自然是。。。。。。。给了offer,没去简要的分析一下单体架构的优缺点,再说说用了分布式架构后会遇到的问题原创 2018-01-20 14:43:31 · 23626 阅读 · 7 评论 -
All-In-One到SOA的分布式架构演进
1、单一应用在诞生之初始,应用与数据库是部署在同一台机器上,这时的用户量、数据量规模都比较小,这样的架构既简单实用、便于维护,成本又低,成为了这个时代的主流架构方式。原创 2017-05-29 17:38:44 · 3065 阅读 · 1 评论