分布式环境特点

分布性

地域,区域,机房,服务器不同导致分布性

并发性

程序运行中,并发性操作很常见,比如同一个分布式系统中的多个节点,同时访问一个共享资源(数据库,分布式存储)

无序性

进程之间的消息通信,会出现顺序不一致的问题。

分布式环境面临问题

各个服务节点通信

网络本身的不可靠,因此涉及到一些的网络通信问题(每一个分布式项目都必须面临问题)。

网络分区(脑裂)

当网络发生异常情况的时候,导致分布式系统中部分节点之间网络延时不断变大,最终导致组成分布式系统所有节点中,只有部分节点能够正常通信。分布式系统出现小集群问题

三态问题

分布式架构 成功,失败,超时【网络问题】三种状态

分布式事务问题

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准备的更多相关文章

  1. 分布式服务框架 Zookeeper(转)

    分布式服务框架 Zookeeper -- 管理分布式环境中的数据 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题 ...

  2. 分布式协调服务Zookeeper扫盲篇

    分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...

  3. 简单理解Zookeeper的Leader选举【转】

    Leader选举是保证分布式数据一致性的关键所在.Leader选举分为Zookeeper集群初始化启动时选举和Zookeeper集群运行期间Leader重新选举两种情况.在讲解Leader选举前先了解 ...

  4. 分布式服务框架 Zookeeper — 管理分布式环境中的数据

    本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Zab协议.通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解. ...

  5. 分布式服务框架 Zookeeper(四)官方编程指南

    握草,是不是加了官方两个字就可以唬人了. 使用ZooKeeper开发分布式应用 简介 这篇文档是为了那些想利用ZooKeeper的协调服务来构建分布式应用的开发人员而写滴,不相干的走一边去哈.在这儿有 ...

  6. 分布式服务框架 Zookeeper(一)介绍

    一.概述 ZooKeeper(动物园管理员),顾名思义,是用来管理Hadoop(大象).Hive(蜜蜂).Pig(小猪)的管理员,同时Apache Hbase.Apache Solr.LinkedIn ...

  7. 个人学习分布式专题(二)分布式服务治理之分布式协调技术Zookeeper

    分布式协调技术Zookeeper 2.1 zookeeper集群安装部署(略) 2.2 zookeeper的基本原理,数据模型 2.3 zookeeper Java api的使用 2.4 zookee ...

  8. 简单理解Zookeeper的Leader选举

    Leader选举是保证分布式数据一致性的关键所在.Leader选举分为Zookeeper集群初始化启动时选举和Zookeeper集群运行期间Leader重新选举两种情况.在讲解Leader选举前先了解 ...

  9. 分布式中,zookeeper的部署

    一:准备 1.概述 为分布式应用提供协调服务的项目 类似于文件系统那样的树形数据结构 目的:将分布式服务不再由于协作冲突而另外实现协作服务 2.数据结构 树形数据结构 zookeeper的每个节点都是 ...

随机推荐

  1. .net core 入门一

    官网教程:https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?view=aspnetcore-3.0&tabs=wind ...

  2. TYPES与DATA区别

    例如:int  a; "c语言定义 TYPES:BEGIN OF typ,   filed1 TYPE c,   END OF typ.         "相当于int类型 DAT ...

  3. IDEA的version control log为空,该怎么办?

    问题描述: 解决方案: 关掉IDEA,重新打开,即可药到病除

  4. localStorage基本了解及使用

    以下内容来自: https://www.cnblogs.com/st-leslie/p/5617130.html  感谢大佬的分享 一.什么是localStorage.sessionStorage 在 ...

  5. jdk1.8-ArrayList源码分析

    一:idea可以自动生成UML类图,ctrl+alt+u ArrayList类图 我没们看下类的继承关系 ) { ) { ) { )) )) newCapacity = minCapacity) ne ...

  6. python高级 之(零) --- 重点难点

    生成式子 列表生成式 字典生成式 深浅拷贝 list0 = [12,24,34,32,[64,23]] # 浅拷贝:浅拷贝只是将最外层容器拷贝一份放在堆里面,内层的容器不会被拷贝还是使用原来的地址 l ...

  7. 【Python开发】urllib2.urlopen超时问题

    原帖地址:http://hi.baidu.com/yss1983/item/933fbe45a09c43e01381da06 问题描述:     没有设置timeout参数,结果在网络环境不好的情况下 ...

  8. 【DSP开发】【Linux开发】IIC设备驱动程序

    IIC设备是一种通过IIC总线连接的设备,由于其简单性,被广泛引用于电子系统中.在现代电子系统中,有很多的IIC设备需要进行相互之间通信 IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接 ...

  9. WCf客户端测试

    添加项目ConsoleWCFTest 添加WCFService.WCFServiceProxy 配置App.config <?xml version="1.0" encodi ...

  10. 临时更换pip国内源

    源 地址 阿里云 http://mirrors.aliyun.com/pypi/simple/ 豆瓣 http://pypi.douban.com/simple/ 清华大学 https://pypi. ...