《Zookeeper分布式过程协同技术详解》之简介-分布式与Zookeeper简介
【常见的分布式架构场景面临的问题】
一般在主从架构中,主节点进程负责跟踪从节点的状态和任务的有效性,并分配任务到从节点。而这种架构中必须要解决的几个问题是,主节点崩溃、从节点崩溃、通信故障。
主节点崩溃:
如果主节点真的崩溃,那么需要有备选节点来接管这个主节点的工作,这里要怎么转移主节点崩溃之前的状态数据?如果主节点由于高负载或者网络延迟造成通信长时间未响应,导致从节点误以为这个主节点崩溃了,重新选出一个新的主节点,而此时旧的主节点又恢复了通信,一套系统里有多个主节点(脑裂),要怎么处理?
从节点失效:
主节点给从节点派发了任务,从节点完成任务后向主节点反馈完成的消息。但如果从节点任务过程中崩溃,那么该如何保证事务?
【Zookeeper是做什么的】
在分布式系统中协同多个任务,一个协作任务指的是一个包含多个进程的任务。这个协作任务,可以是为了协作也可以是为了管理竞争。对于在一台机器上的多个进程进行协同,与多个机器的多个进程的协同区别不大。在ZK之前也有很多系统采用分布式锁管理器或者分布式数据库来实现协作,Zookeeper为开发人员提供了一种新的选择。
当开发人员使用ZK进行开发时,开发人员设计的应用往往可以看成一组连接到ZK服务器的客户端,通过ZK提供的api连接到ZK服务器进行相应操作。ZK的客户端api功能包括:
保证强一致性、有序性和持久性;
实现通用的同步能力;
分布式环境下的并发处理机制
ZK用于管理协同的关键数据,不适合存储海量数据,最佳实践是将应用数据与协同数据分开处理,应用数据应用处理,协同数据交由ZK处理。ZK提供了一组核心操作,可以实现很多常见分布式应用的任务,对于实现什么样的协同任务,由开发人员决定。
分布式系统中的通信一般有两种选择,一种是直接进行网络通信,一种是读写某些共享存储。ZK使用后者,即共享存储模型来实现应用的协作与同步。
消息延迟、处理器性能带来的消息延迟、时钟偏移带来的错误这三个问题是分布式系统比较关心的关键问题。ZK简化了这些问题的处理。
《Zookeeper分布式过程协同技术详解》之简介-分布式与Zookeeper简介的更多相关文章
- ZooKeeper分布式过程协同技术详解1——ZooKeeper的概念和基础
简介 分布式系统和应用,不仅能提供更强的计算能力,还能为我们提供更好的容灾性和扩展性. ZooKeeper是Google的Chubby项目的开源实现,它曾经作为Hadoop的子项目,在大数据领域得到广 ...
- ZooKeeper分布式过程协同技术详解2——了解ZooKeeper
这个服务如何实现这些协作方面的原语? ZooKeeper基础
- Zookeeper分布式过程协同技术 - 部署及设置
Zookeeper分布式过程协同技术 - 部署及设置 Zookeeper支持单机模式.伪集群模式.集群模式三种部署方式.演示部署环境为CentOS.jdk版本为1.8.Zookeeper版本为3.4 ...
- Zookeeper分布式过程协同技术 - 概念及基础
Zookeeper分布式过程协同技术 - 概念及基础 Zookeeper是什么? Zookeeper是一种分布式过程协同技术,其所提供的客户端API功能强大,其中包括: 保障强一致性.有序性和持久性. ...
- Zookeeper分布式过程协同技术 - 群首选举
Zookeeper分布式过程协同技术 - 群首选举 群首概念 群首为集群中服务器选择出来的一个服务器,并被集群认可.设置群首目的在与对客户端所发起的状态变更请求进行排序,包括:create.setDa ...
- Zookeeper系列二:分布式架构详解、分布式技术详解、分布式事务
一.分布式架构详解 1.分布式发展历程 1.1 单点集中式 特点:App.DB.FileServer都部署在一台机器上.并且访问请求量较少 1.2 应用服务和数据服务拆分 特点:App.DB.Fi ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- 详解Twitter开源分布式自增ID算法snowflake(附演算验证过程)
详解Twitter开源分布式自增ID算法snowflake,附演算验证过程 2017年01月22日 14:44:40 url: http://blog.csdn.net/li396864285/art ...
- CDN学习笔记二(技术详解)
一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...
- CDN技术详解及实现原理
CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...
随机推荐
- 【MYSQL】group_concat长度问题分析
今天在生产环境发现一个ArrayIndexOutOfBounds的问题,经过排查,发现是group_concat拼接的字符串太长,超过了1024,导致报错. 我们可以通过 : SET [SESSION ...
- Unity异步加载场景与加载进度条
先上效果图 需要三个场景 1,2, 3 从场景1跳转到场景3,场景2是加载场景 场景1按钮的代码如下 using System.Collections; using System.Collection ...
- linux中 查看 CPU 内存负载 磁盘IO 网络IO情况
1.压测时如何观察机器的CPU负载 先来看一个最最常用的监测linux机器性能的命令,就是top命令,直接在linux命令行只能够输入top指令就可以了,然后我们这里来给大家解释一下,top指令展示出 ...
- stopping hbasecat:/tmp/hbase-root-master.pid:No such file or directory
今天在新电脑上安装虚拟机的时候,尝试打开hadoop和hbase,hadoop打开没有问题,就是hbase关闭的时候报了stopping hbasecat:/tmp/hbase-root-master ...
- Coursera Programming Languages, Part B 华盛顿大学 Week 1
来上 programming language 的第二 part 了!这一部分介绍的语言是 Racket,之前就听说过它独特的括号语法,这次来具体了解一下 Racket definitions, fu ...
- nmap扫描
Nmap扫描 学习老师发的链接中的指令:https://www.cnblogs.com/nmap/p/6232207.html 下载了nmap软件 根据教学中的操作查找虚拟机的IP地址 并用主机对其扫 ...
- 20192305 王梓全Python程序设计实验一报告
20192305 王梓全Python程序设计实验一报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...
- Django练习过程中的错误即解决方案
问题1 这个问题是当我们跟着书上做完后,没有按照规定输入 python manage.py makemigrations learning_logs 然后输入: python manage.py mi ...
- select * into,insert into,create table
SELECT * INTO Table2 FROM Table1要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中 INSERT I ...
- kubernetes系列—Ubuntu下搭建Kubernetes集群--k8s部署
1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 2.安装kubernetes 2.1 关闭防火墙 在每台机器上关闭防火墙: ① 关闭服务,并设为开机不自启 $ ...