![](https://img-blog.csdnimg.cn/20191011112116799.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式协调组件
晓寒风骤
这个作者很懒,什么都没留下…
展开
-
深度介绍分布式系统原理
1 概念 1.1 模型 1.2 副本 1.3 衡量分布式系统的指标 2 分布式系统原理 2.1 数据分布方式 2.2 基本副本协议 2.3 Lease 机制 2.4 Quorum 机制 2.5 日志技术 2.6 两阶段提交协议 2....转载 2020-04-29 19:49:08 · 505 阅读 · 0 评论 -
Nacos(一): Raft 协议
分布式一致性协议 Raft,自 2013 年论文发表之后就受到了技术领域的热捧,我认为相对于其他分布式一致性算法,Raft 有效的解决了分布式一致性算法过于复杂及难于实现的问题,这也是 Raft 能异军突起的主要因素。Raft 协议有效的借鉴了美国总统大选的策略,采用精英(Raft 称呼这个精英为 Leader)领导全局的方案,整个集群中只有 Leader 可以处理 cl...原创 2019-10-14 13:36:49 · 2323 阅读 · 0 评论 -
Zookeeper(六):zk原理浅析
1、Zookeeper的角色 » 领导者(leader),负责进行投票的发起和决议,更新系统状态 » 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票 » Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的...原创 2019-10-10 15:09:38 · 566 阅读 · 0 评论 -
Zookeeper(一):zk概述
在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.这大概描述了Zookeeper主要可以干哪些...原创 2019-10-10 14:36:29 · 398 阅读 · 0 评论 -
Zookeeper(五):源码分析
cd ../binvim zkServer.shZOOMAIN = "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLYorg.apache.zookeeper.server.quorum.QuorumPeerMain"启动类的入口方法QuorumPeerM...原创 2019-10-05 21:46:33 · 142 阅读 · 0 评论 -
Zookeeper(三):Leader选举
一、前言1. 基本概念 SID:服务器ID,用来标示ZooKeeper集群中的机器,每台机器不能重复,和myid的值一致 ZXID:事务ID Vote: 选票,具体的数据结构后面有 Quorum:过半机器数 logicalclock:逻辑时钟(选举轮次),zk服务器Leader选举的轮次 服务器类型:在zk中,引入了Leader、Fo...原创 2019-09-17 20:03:37 · 450 阅读 · 0 评论 -
Zookeeper(二):Zab协议详解
一、Zookeeper简介Zookeeper是一个分布式数据一致性的解决方案,分布式应用可以基于它实现诸如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master选举,分布式锁和分布式队列等功能。Zookeeper致力于提供一个高性能、高可用、且具有严格的顺序访问控制能力的分布式协调系统。考虑到Zookeeper主要操作数据的状态,为了保证状态的一致性,Zookeepe...原创 2019-09-17 20:00:24 · 827 阅读 · 4 评论 -
Zookeeper(七):ACL
摘要DataTree涉及到ACL,本节先讲解ACL相关内容讲ACL的参考资料并不是很多,书上也没有讲原理实现,这里自己整理一下本文主要讲解ACL简介ACL数据结构 perms Id(id,schema) 内置权限,ACL列表,Id,schemaACL的创建,修改ACL的验证 ACL创建修改的验证(create,setACL) ACL申请权限的验证(各种操作)...原创 2019-10-11 10:07:24 · 616 阅读 · 0 评论 -
Zookeeper(八):WATCH
watchManager涉及watch机制,内容较多,又要针对watch进行展开了本节讲解Watcher相关类简介,类图说明Watcher的意义,通知状态(keeperState)与事件类型(EventType)WatchedEvent 和 WatcherEvent 描述zk检测到变化的事件,以及对应用于网络传输的封装类ClientWatchManager接口以及实现类ZKWatc...原创 2019-10-11 10:10:53 · 406 阅读 · 0 评论 -
Eureka(一): Eureka Client
简介Eureka是一种基于REST(Representational State Transfer)的服务,主要用于AWS云,用于定位服务,以实现中间层服务器的负载平衡和故障转移。我们将此服务称为Eureka Server。Eureka还附带了一个基于Java的客户端组件Eureka Client,它使与服务的交互变得更加容易。客户端还有一个内置的负载均衡器,可以进行基本的循环负载均衡。在Ne...原创 2019-10-11 11:17:42 · 1584 阅读 · 0 评论 -
基于Nacos的注册中心
前言所谓注册中心,其实是分布式架构演进过程中的产物,在系统中充当一个协调者的角色。但是,为什么需要这样一个协调者的角色呢?我们先来看一个例子,以便理解为什么分布式架构中需要有注册中心。案例小明和小新住在同一家沃尔玛超市附近,他俩都办了会员,经常关注超市的一些优惠活动,元宵节快到了,沃尔玛准备搞一个元宵节特惠活动,需要通知到附近的住户。对于沃尔玛来说,可以安排工作人员电话通知到小明和小新...原创 2019-08-26 16:56:20 · 1525 阅读 · 2 评论 -
阿里巴巴为什么不用 ZooKeeper 做服务发现?
历史的迷思站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫妇如果没有被塞尔维亚族热血青年普林西普枪杀会怎样,又如若当年的丘老道没有经过牛家村会怎样?2007年底,淘宝开启一个叫做“五彩石”的内部重构项目,这个项目后来成为了淘宝服务化、面向分布式走自研之路,...转载 2019-08-26 16:54:24 · 182 阅读 · 0 评论 -
Eureka(二): Eureka Server
源码分析从 @EnableEurekaServer 注解为入口分析,通过源码可以看出他是一个标记注解:/** * Annotation to activate Eureka Server related configuration {@link */@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Doc...原创 2019-10-11 14:13:06 · 103 阅读 · 0 评论 -
浅析不同注册中心的底层原理
前言在介绍四种开源项目之前,先简单认识一下注册中心。我的简单理解:注册中心提供服务注册和服务发现功能注册中心解决单点故障问题注册中心需要保存服务注册信息以及服务发现时的筛选和简单计算能力那么我们应该从以下几点来“考量”一个注册中心:如何解决单点故障问题以及如何保证信息不丢失,有何优缺点如何存储服务注册信息,有何优缺点如何通讯,通讯效率等功能是否丰富,能否满足不同需求简洁...原创 2019-10-11 14:20:14 · 467 阅读 · 0 评论 -
Zookeeper(四):Paxos算法详解
本篇文章将开启对分布式协调服务zk的学习,目前规划是从理论基础开始逐步到源码解析,深入学习这个在分布式系统中起着至关作用的组件。对于 zk 理论的学习,最重要也是最难的知识点就是 Paxos 算法。所以我们首先学习 Paxos 算法。算法简介Paxos 算法是莱斯利·兰伯特(Leslie Lamport)1990 年提出的一种基于消息传递的、具有高 容错性的一致性算法。Google ...原创 2019-09-17 19:59:24 · 752 阅读 · 0 评论