分布式与并发
文章平均质量分 88
Yu_uuuuu
个人博客www.yukaiji.com
展开
-
浅谈Zookeeper【三】ZK中Leader选举算法
文章目录一、前言二、Leader选举基本概念集群服务节点状态 State:选票模型 Vote选举网络通信管理器 QuorumCnxManager三、Leader选举触发时机四、Leader选举过程集群初始化选举Leader宕机后选举五、新节点加入与选举规则新节点加入选举规则六、选举算法FastLeaderElection解析七、总结一、前言前面已经介绍过Zookeeper的基础知识以及ZAB协议的一些概念,其中ZAB协议中关键性的发现步骤,也就是Leader选举机制是如何完成的,在这里简单介绍一下。二原创 2020-06-27 21:32:24 · 1414 阅读 · 0 评论 -
浅谈Zookeeper【二】ZAB协议原理
ZAB协议介绍ZAB协议(Zookeeper Atomic Broadcast)时Zk中保证数据一致性的重要协议,是基于Paxos算法单独为Zk实现的协议。ZAB协议是一种支持崩溃恢复和原子广播的协议,基于zab协议,zk实现了一种主备模式的系统架构,由单一的主进程来处理客户端的请求,并且为每个请求分配一个全局唯一单调递增的事务ID(zxid),然后由主进程将数据广播给副本进程上去。所以说zk是一个保证顺序一致性的服务。原创 2020-06-21 20:57:31 · 604 阅读 · 0 评论 -
浅谈Zookeeper【一】Zookeeper基础知识介绍
前言由于在实际工作中,几乎都是使用公司提供的基础服务或者采用开源的框架,很少与ZK实际打交道,对ZK的底层原理一知半解,无法将各个知识点串起来,所以打算记录下自己所了解的ZK,并且将学习回顾知识汇总。本文作为Zk系列知识的开篇,只介绍Zk的基本知识,附带提一嘴Zk的实际应用场景,不深入介绍原理。Zookeeper介绍一、什么是ZookeeperZookeeper是典型的为解决分布式一致性所带来的问题的方案组件,分布式应用可以基于zk来实现集群管理、服务注册、动态配置、负载均衡、分布式锁、发布订阅等原创 2020-06-20 20:26:31 · 436 阅读 · 0 评论 -
分布式与并发【四】浅谈分布式一致性算法Raft
前言之前简单介绍过Paxos算法,并且推导了整个算法的产生,说明了实现过程,但是显而易见Paxos算法非常难理解,并且更难以实现,Raft算法的出现用来代替Paxos算法,实现更加容易,由于本人水平有限,可能文中出现错误,还请大家指出。基础概念介绍Raft是一种用于管理复制日志的一种一致性算法,它将通过一些功能将一致性的一些问题分解,从而更方便理解。一、Raft的重要功能Leader选举、日志复制(数据同步)、日志压缩(数据快照)、安全性等等二、Raft的角色Raft算法中将服务节点分为了三种原创 2020-06-07 17:03:27 · 889 阅读 · 0 评论 -
分布式与并发【三】浅谈分布式一致性算法Paxos
一、前言说到分布式一致性算法,那么必然不可避免谈到Paxos,Paxos算法在分布式领域地位非常重要,接下来简单记录下Paxos算法的原理。由于个人水平有限,如有错误还请谅解,本文参考书籍《从Paxos到ZooKeeper》与一些网络博客。二、背景在分布式系统中,经常会发生例如网络异常、服务宕机等情况,为了解决出现问题时数据不一致而产生了Paxos算法,可以保证无论在任何情况下都不会破坏数据的一致性。Paxos算法是基于消息传递且具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最有效原创 2020-05-31 17:24:22 · 751 阅读 · 0 评论 -
分布式与并发【二】浅谈分布式一致性协议2PC与3PC
前言:在分布式系统体系中,为保证数据的一致性,产生了一系列的一致性协议,其中最为著名的就是2PC和3PC协议,以及现在广泛使用的真正解决一致性的Paxos算法,本篇只讲述2PC和3PC,下一篇再介绍Paxos算法。在分布式系统中,每个子节点都能明确认知到自己处理的事务成功或者失败,但是却无法直接获取其他分布式节点的操作结果,因此当一个事务需要跨多个系统操作时,就需要一个中间方也叫做协调者来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点称之为参与者,由协调者来确定事务是否最终需要提交,基于这个思原创 2020-05-23 14:43:01 · 665 阅读 · 0 评论 -
分布式与并发【一】浅谈分布式ACID与CAP/BASE理论
前言由于工作中比较忙,好久没有梳理一下自身的知识体系,正好在公司OKR时规划了一下个人能力和影响力的提升,所以准备系统性回顾一下分布式相关的知识,整理成文档分享给大家。一、分布式的特点分布性: 一个分布式的系统中,所有的计算机可以任意分布在不同的地方,可能会在不同的城市和机房。对等性:分布式中的所有机器没有主从之分,并没有一个中心节点主机来控制,每个机器都是主机,都可以处理来自外部的请求,相当于一个副本的概念,当某台机器因为网络或物理原因宕机后不会对对外提供的整个服务造成影响。并发性:由于分布原创 2020-05-23 14:40:35 · 497 阅读 · 0 评论