分布式特点理解-Zookeeper准备
分布式环境特点
分布性
地域,区域,机房,服务器不同导致分布性
并发性
程序运行中,并发性操作很常见,比如同一个分布式系统中的多个节点,同时访问一个共享资源(数据库,分布式存储)
无序性
进程之间的消息通信,会出现顺序不一致的问题。
分布式环境面临问题
各个服务节点通信
网络本身的不可靠,因此涉及到一些的网络通信问题(每一个分布式项目都必须面临问题)。
网络分区(脑裂)
当网络发生异常情况的时候,导致分布式系统中部分节点之间网络延时不断变大,最终导致组成分布式系统所有节点中,只有部分节点能够正常通信。分布式系统出现小集群问题


三态问题
分布式架构 成功,失败,超时【网络问题】三种状态
分布式事务问题
ACID(原子性,一致性,隔离性,持久性) => 事务特征
原子性: 整个事务操作过程中,所有操作要不全部成功,要不就全部失败。
一致性: 整个操作过程中所有数据操作前后保持一致
隔离性: 事务和事务之间操作是完全隔离。
持久性:事务一旦提交成功,所有数据不能更改。
分布式理论:
CAP
Consistency (一致性) :数据在多个副本中时刻保持一致。
强一致性: 同一个时刻,每一个节点中的数据都是一致的。
弱一致性(最终一致性): 允许在一小个时间段内容,各个节点上面的数据部分不一致,但是最终得到结果是一致的。(消息队列,异步方式)
Availability (可用性)
系统总能在规定时间内,处理完用户的请求。
Partition Tolerance(分区容错)【最典型的的脑裂问题】
分布式系统在遇到任何网分区故障的时候,仍然需要保证对外提供满足一致性和可用性的服务。
一个分布式系统中无法满足以上三个条件,只能满足2个
放弃P=> 将所有的数据都在一个分布式节点上面[单点故障],放弃系统扩展性问题。(分区容错在分布式系统中是必须存在的)
PA 放弃强一致性,保留数据的最终一致性,承诺一个时间让数据达到一致状态
PC 放弃可用性, 系统一旦出现故障问题,在系统故障恢复期间是无法对外提供服务的。
只针对非关系型数据库(NOSQL)
Base
Bascially Avaliable(基本可用)
允许损失部分可用性,保证核心业务可用。
Soft-State (软状态/弱性事务)
系统中存在一个中间的状态,这个中间状态不会影响系统整体可用。(使用异步方式处理)
Eventually Consistency(最终一致性)
允许在一小个时间段内容,各个节点上面的数据部分不一致,但是最终得到结果是一致的。
中心化和去中心化
中心化: 分布式系统中每一个节点按照角色分工(zk集群,leader,follower,observer)
存在最大的问题:领导出现故障,导致集群问题。
主备.(潜在问题: 领导管理能力问题)
zookeeper/etcd
去中心化: 最重要的问题是脑裂问题。leader不是固定的,如果leader出现问题,会动态选出新的leader也可以理解成去中心化
分布式特点理解-Zookeeper准备的更多相关文章
- 分布式服务框架 Zookeeper(转)
分布式服务框架 Zookeeper -- 管理分布式环境中的数据 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题 ...
- 分布式协调服务Zookeeper扫盲篇
分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...
- 简单理解Zookeeper的Leader选举【转】
Leader选举是保证分布式数据一致性的关键所在.Leader选举分为Zookeeper集群初始化启动时选举和Zookeeper集群运行期间Leader重新选举两种情况.在讲解Leader选举前先了解 ...
- 分布式服务框架 Zookeeper — 管理分布式环境中的数据
本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Zab协议.通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解. ...
- 分布式服务框架 Zookeeper(四)官方编程指南
握草,是不是加了官方两个字就可以唬人了. 使用ZooKeeper开发分布式应用 简介 这篇文档是为了那些想利用ZooKeeper的协调服务来构建分布式应用的开发人员而写滴,不相干的走一边去哈.在这儿有 ...
- 分布式服务框架 Zookeeper(一)介绍
一.概述 ZooKeeper(动物园管理员),顾名思义,是用来管理Hadoop(大象).Hive(蜜蜂).Pig(小猪)的管理员,同时Apache Hbase.Apache Solr.LinkedIn ...
- 个人学习分布式专题(二)分布式服务治理之分布式协调技术Zookeeper
分布式协调技术Zookeeper 2.1 zookeeper集群安装部署(略) 2.2 zookeeper的基本原理,数据模型 2.3 zookeeper Java api的使用 2.4 zookee ...
- 简单理解Zookeeper的Leader选举
Leader选举是保证分布式数据一致性的关键所在.Leader选举分为Zookeeper集群初始化启动时选举和Zookeeper集群运行期间Leader重新选举两种情况.在讲解Leader选举前先了解 ...
- 分布式中,zookeeper的部署
一:准备 1.概述 为分布式应用提供协调服务的项目 类似于文件系统那样的树形数据结构 目的:将分布式服务不再由于协作冲突而另外实现协作服务 2.数据结构 树形数据结构 zookeeper的每个节点都是 ...
随机推荐
- Spring Boot Application后台守护Daemon应用
本地代码启动不报错,部署到服务器之后出现如下一个错误. 系统的日志如下: Error starting ApplicationContext. To display the conditions re ...
- IDEA Cannot access alimaven (http://maven.aliyun.com/nexus/content/groups/public/)
[ERROR] Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could n ...
- MySQL 5.7 中文全文检索
MySQL 5.7 中文全文检索 在 MySQL 5.7.6 之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库.从 MySQL 5.7.6 ...
- JSP 传统标签extends TagSupport
1.控制JSP页面某一部分内容是否执行 public int doStartTag() 返回EVAL_BODY_INCLUDE,执行 返回SKIP_BODY,不执行 2.控制整个JSP页面是否执行 p ...
- lxml的XPath解析
BeautifulSoup 可以将lxml作为默认的解析器使用,同样lxml可以单独使用.下面比较这两者之间优缺点: BeautifulSoup和lxml原理不一样,BeautifulSoup是基于D ...
- Django-ORM之ForeignKey的使用-多对一关系
ForeignKey使用俩表示两张表多对一关系的外键,外键字段要定义在多属性的表中. 定义外键时,to的表可以直接写类名,但是需要注意类的定义顺序:也可以写字符串式的类名,这样就可以忽略class类的 ...
- 【VS开发】【图像处理】直方图均衡与平台直方图
目录(?)[-] 直方图均衡化Histogram Equalization 直方图均衡化的主要过程 一个简单的例子 关键的代码实现 平台直方图及均衡化 平台直方图的概念 平台阈值的确定 关键代码实现 ...
- query函数的可查询数据
#encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func from sqlalche ...
- Laravel模板事项
1.模板中己显示的时间,可以在此基础上增加时间 请于{{ $order->created_at->addSeconds(config('app.order_ttl'))->forma ...
- adb工具介绍与安装
一天笑嘻嘻是一名测试人员,想了解Android的测试方法,于是,就找到了小测试. 笑嘻嘻:身为一名测试人员需要了解ADB的哪些内容? 小测试:了解原理和简单的命令使用就可以了. 笑嘻嘻:你有毒啊,都了 ...