zookeeper基础学习-简介
1.zookeeper的使命
zookeeper可以在分布式系统的协作多个任务(一个任务是指一个包含多个进程的任务),这个任务可以是为了协作或者是为了管理竞争。
协作:多个进程需要一同处理某些事情,一些进程采取某些行动让其他进程继续工作。例:主-从工作模式中主节点将任务分配给其他的从节点。
竞争:指两个进程不能同时处理工作,一个进程必须等待其他节点。例:主-从工作模式中主节点只有一个,其他从节点只能等主节点崩溃后才能成为主节点,这就需要实现互斥排他锁,我们可以理解为成为主节点的过程就是要获取主节点控制锁的过程。
2.zookeeper api功能
(1)保障强一致性,有序性和持久性。
(2)实现通用的同步原语的能力。
(3)在实现分布式系统中,并发往往导致不正确的行为,zookeeper提供了一种简单的并发处理机制。
3.zookeeper不适用的场景
海量数据存储----我们可以使用数据库或者分布式文件系统等。
4.分布式系统中等进程通信有两种选择:(1)直接通过网络进行信息交换 (2)读写某些共享存储,zookeeper使用共享存储模型来实现应用间的协作和同步原语,而对于共享存储本身,又需要在进程和存储间进行网络通信。
5.注意的问题
(1)消息延迟
消息传输可以会发生任意延迟,比如网络拥堵。
(2)处理器性能
操作系统的调度和超载可能导致消息处理的任意延迟。
(3)时钟偏移
确定某一事件系统中发生哪些事件,处理器的时钟不可靠,他们之间会发生任意偏移。
6.主-从
主节点服务器负责跟踪从节点是否可用,并分派任务到从节点。
从节点服务器负责完成任务。
(1)主节点崩溃
如果主节点发送错误并失效,系统将无法分配新的任务货重新分配已失败的任务。
解决办法:我们需要一个备份主节点,当主节点崩溃是,备份主节点通过zookeeper来恢复已崩溃主节点的状态,但是这也不是万能的,如果主节点负载过高,导致信息任意延迟或者网络分区错误导致都会导致备份主节点与主节点(未崩溃)同时工作,产生脑裂现象。
(2)从节点崩溃
如果从节点崩溃,已分配的任务将无法完成。
解决办法:让主节点具有检查从节点的崩溃能力,并且还要执行某些恢复过程来清除之前状态。
(3)通信故障
如果主节点和从节点之间无法进行信息交换,从节点将无法得知新任务分配给他。
解决办法:首先客户端可以告诉zookeeper某些数据的状态是临时状态,其次,zookeeper需要向客户端定时发送是否存活的通知,如果一个客户端未能即使发送通知,那么所有从属于这个客户端的临时状态数据将全部删除。
7.zookeeper命名的由来
zookeeper是由雅虎研究院开发,zookeeper研究小组参加来很多以动物命名的项目,分布式项目就像一个动物园,zookeeper就是为了将一切变为可控的
zookeeper基础学习-简介的更多相关文章
- Node.js系列基础学习----安装,实现Hello World, REPL
Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...
- AspectJ基础学习之一简介(转载)
AspectJ基础学习之一简介(转载) 一.为什么写这个系列的博客 Aspectj一个易用的.功能强大的aop编程语言.其官网地址是:http://www.eclipse.org/aspectj/ ...
- 【JAVAWEB学习笔记】26_Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装
Linux基础 学习目标 1.了解Linux的简介与安装 2.掌握Linux常用的命令 3.掌握Linux系统上JDK.Mysql.Tomcat的安装 一.Linux的简介 1.Linux的概述 Li ...
- 《零基础学习Python制作ArcGIS自定义工具》课程简介
Python for ArcGIS Python for ArcGIS是借助Python语言实现ArcGIS自动化行为的综合,它不止是如课程标题所述的“制作ArcGIS自定义工具”,还包括使用Pyth ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- XML 参考:XML基础 XML 简介
XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...
- Yaf零基础学习总结2-Yaf框架的安装
接着上一篇文章<Yaf零基础学习总结1-Yaf框架简介>我们对Yaf框架有那么一个大概的了解了,但是对于程序员来说,那些文字都是表面的,他们最想的就是开始敲代码了.当然这也是学习Yaf框架 ...
- ZooKeeper快速学习
"一入Java深似海",过去自身对于分布式的接触,始终处于使用别人构建的框架的水平,最多就是在nginx配置一下第4层的负载均衡(最后有介绍).随着java使用深入,本文将重点理解 ...
随机推荐
- 腾讯云服务器(centos7.2)上安装MySQL
1.到MySQL官网找到相应的版本 https://dev.mysql.com/downloads/repo/yum/ 找到下面的Linux7,即CentOS7(CentOS是Red Hat旗下的)点 ...
- MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法
发现MySQL服务器因系统磁盘写满导致服务停了,清理磁盘后启动服务时无法正常启动,查看localhost.err日志发现如下报错: [ERROR] Unix socket lock file is e ...
- 本地开启https服务
### ##自签名证书 ##配置Apache服务器SSL ##自己作为CA签发证书 ###这里是OpenSSL和HTTPS的介绍 OpenSSL HTTPS 开启HTTPS配置前提是已在Mac上搭建A ...
- Turn and Stun server · J
本文简介了Turnserver(Turn + Stun)服务器的搭建.Turnserver主要提供了stun服务,支撑NAT.防火墙穿透,turn服务器,支撑打洞失败时的数据中转.使用场景上类似于前端 ...
- 当鼠标hover的时候,使用tip将overflow:hidden隐藏的文字显示完全
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- web系统是否要前后端分离?
开发一个web管理系统,是否要采用如今流行的前后端分离模式? 首先要从为什么会出现前后端分离说起,前后端分离的目的. 1.让前端工程师(前端)和后端工程师(后端)们能够更加专注于自己的领域 传统的开发 ...
- 自定义Toast的出现样式
使用下面的方法来获取一个Toast对象: private Toast showShortToast() { if (toast == null) { toast = new Toast(this); ...
- SpringCloud入门(六): Hystrix监控
Hystrix.stream 监控 <!--. 配置pom文件,引入actuator包--> <dependency> <groupId>org.springfra ...
- Enbale IE mode in Edge
1. 打开Edge, 在地址栏输入 edge://flags/ 2. 搜索 Enable IE Integration , 配置为 IE mode 3. 找到Edge的启动程序路径.如 C:\Prog ...
- XSS_跨站脚本攻击
前段时间在网上看到一个网址,好奇之下进去看了看.胜利的条件是你录入一个串,让其调用prompt(1) .发现里面有好多想不到的东西,今天终于悠闲了来这里说说XSS. XSS 原理 恶意攻击者往Web页 ...