【常见的分布式架构场景面临的问题】
一般在主从架构中,主节点进程负责跟踪从节点的状态和任务的有效性,并分配任务到从节点。而这种架构中必须要解决的几个问题是,主节点崩溃、从节点崩溃、通信故障。
主节点崩溃:
如果主节点真的崩溃,那么需要有备选节点来接管这个主节点的工作,这里要怎么转移主节点崩溃之前的状态数据?如果主节点由于高负载或者网络延迟造成通信长时间未响应,导致从节点误以为这个主节点崩溃了,重新选出一个新的主节点,而此时旧的主节点又恢复了通信,一套系统里有多个主节点(脑裂),要怎么处理?
从节点失效:
主节点给从节点派发了任务,从节点完成任务后向主节点反馈完成的消息。但如果从节点任务过程中崩溃,那么该如何保证事务?

【Zookeeper是做什么的】
在分布式系统中协同多个任务,一个协作任务指的是一个包含多个进程的任务。这个协作任务,可以是为了协作也可以是为了管理竞争。对于在一台机器上的多个进程进行协同,与多个机器的多个进程的协同区别不大。在ZK之前也有很多系统采用分布式锁管理器或者分布式数据库来实现协作,Zookeeper为开发人员提供了一种新的选择。

当开发人员使用ZK进行开发时,开发人员设计的应用往往可以看成一组连接到ZK服务器的客户端,通过ZK提供的api连接到ZK服务器进行相应操作。ZK的客户端api功能包括:
保证强一致性、有序性和持久性;
实现通用的同步能力;
分布式环境下的并发处理机制

ZK用于管理协同的关键数据,不适合存储海量数据,最佳实践是将应用数据与协同数据分开处理,应用数据应用处理,协同数据交由ZK处理。ZK提供了一组核心操作,可以实现很多常见分布式应用的任务,对于实现什么样的协同任务,由开发人员决定。
分布式系统中的通信一般有两种选择,一种是直接进行网络通信,一种是读写某些共享存储。ZK使用后者,即共享存储模型来实现应用的协作与同步。

消息延迟、处理器性能带来的消息延迟、时钟偏移带来的错误这三个问题是分布式系统比较关心的关键问题。ZK简化了这些问题的处理。

《Zookeeper分布式过程协同技术详解》之简介-分布式与Zookeeper简介的更多相关文章

  1. ZooKeeper分布式过程协同技术详解1——ZooKeeper的概念和基础

    简介 分布式系统和应用,不仅能提供更强的计算能力,还能为我们提供更好的容灾性和扩展性. ZooKeeper是Google的Chubby项目的开源实现,它曾经作为Hadoop的子项目,在大数据领域得到广 ...

  2. ZooKeeper分布式过程协同技术详解2——了解ZooKeeper

    这个服务如何实现这些协作方面的原语? ZooKeeper基础

  3. Zookeeper分布式过程协同技术 - 部署及设置

    Zookeeper分布式过程协同技术 -  部署及设置 Zookeeper支持单机模式.伪集群模式.集群模式三种部署方式.演示部署环境为CentOS.jdk版本为1.8.Zookeeper版本为3.4 ...

  4. Zookeeper分布式过程协同技术 - 概念及基础

    Zookeeper分布式过程协同技术 - 概念及基础 Zookeeper是什么? Zookeeper是一种分布式过程协同技术,其所提供的客户端API功能强大,其中包括: 保障强一致性.有序性和持久性. ...

  5. Zookeeper分布式过程协同技术 - 群首选举

    Zookeeper分布式过程协同技术 - 群首选举 群首概念 群首为集群中服务器选择出来的一个服务器,并被集群认可.设置群首目的在与对客户端所发起的状态变更请求进行排序,包括:create.setDa ...

  6. Zookeeper系列二:分布式架构详解、分布式技术详解、分布式事务

    一.分布式架构详解 1.分布式发展历程 1.1 单点集中式 特点:App.DB.FileServer都部署在一台机器上.并且访问请求量较少 1.2  应用服务和数据服务拆分  特点:App.DB.Fi ...

  7. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  8. 详解Twitter开源分布式自增ID算法snowflake(附演算验证过程)

    详解Twitter开源分布式自增ID算法snowflake,附演算验证过程 2017年01月22日 14:44:40 url: http://blog.csdn.net/li396864285/art ...

  9. CDN学习笔记二(技术详解)

    一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...

  10. CDN技术详解及实现原理

    CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...

随机推荐

  1. 腾讯云服务器,在本地域名不能访问,IP可以访问;端口访问差异:有的地方能访问有的不能

    本地域名不能访问原因是DNS地址问题,本地设置的DNS地址没法解析出腾讯云IP,所以域名访问不到,直接就用服务器IP却可以. 修改DNS可以在本地电脑上修改,只影响本机, 按下键盘上的"Wi ...

  2. mac_office2019

    mac_office2019下载 1,链接地址: mac_office2019: https://590m.com/d/28636472-44062040-dc385f (访问密码:7410) 2, ...

  3. google api 后端打点上报

    https://developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events?client_type ...

  4. CString常用方法简介

    CString常用方法简介 CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值   字符串一样 返回0 小于lpsz  返回-1 大于lps ...

  5. Position Based Dynamics【译】

    绝大部分机翻,少部分手动矫正,仅供参考.本人水平有限,如有误翻,概不负责... Position Based Dynamics Abstract The most popular approaches ...

  6. gui的服务器和vnc安装测试

    为了OpenStack做连接准备,我们要准备企业中不常用到的gui桌面,和vnc连接去调试 然后开始我们的教程 yum grouplist 列出包组选择要安装的服务 systemctl stop za ...

  7. Lua监听事件观察者模式(多个监听者监听)

    fireEvent 产生事件,创建协程分发(在registerEventListener注册过的事件中通过事件名字找到对应的信息,然后执行对应模块的OnEvent函数),多个地方都注册了同一个事件的话 ...

  8. Linux定时运行Python代码

    背景 之前定时运行py文件都是jenkins设置定时任务运行,今天想linux有没有定时运行的东西,百度一下找到了,链接:http://blog.csdn.net/netdxy/article/det ...

  9. Navicat12安装包+破解方式(详细教程)

    链接:https://pan.baidu.com/s/1vXQzT5nWD73lS5ZMGYYfeA 提取码:phhh 注意!!!  只有Navicat12版本才支持破解,其他版本无法破解. 1. 下 ...

  10. python之基本数据类型--数字类型

    变量是为了让计算机像人一样的去记录事务的某种状态,那变量值就是用来存储事务的状态,在现实生活中事物状态明显的分为不同的种类,比如人类的年龄.身高.体重.工资.等等,所以变量也是有不同类型的,变量的几种 ...