美洲杯外围下注_美洲杯投注导航_[所有网址]

美洲杯外围下注_美洲杯投注导航_[所有网址]是该公司为打造信誉第一,2014最新体验金,美洲杯外围下注_美洲杯投注导航_[所有网址]这里的所有老虎机游戏及真人百家乐游戏都具有欧洲风格,致力成为最具传播力和互动性的娱乐城网站。

Gossip协议

2019-05-29 09:20 来源:未知

Gossip是一种去中心化、容错并保证最终一致性的协议。

最近学习UIUC的BIG DATA.关于Gossip 协议查找了相关的文章,学习一下

Gossip协议

Gossip是分布式系统中被广泛使用的协议,其主要用于实现分布式节点或者进程之间的信息交换。Gossip协议同时满足应用层多播协议所要求的低负载,高可靠和可扩展性的要求。由于其简单而易于实现,当前很多系统(例如Amazon S3,Usenet NNTP等)选择基于Gossip协议以实现应用层多播的功能。

Background:分布式环境

Gossip是为了解决分布式遇到的问题而设计的。由于服务和数据分布在不同的机器上,节点之间的每次交互都伴随着网络延迟、网络故障等的性能问题。可见,分布式系统会比单机系统遇到更多的难题。

如CAP理论 所描述的,CAP三个因素在分布式的条件下只能满足两个。对于分布式系统来说,分区容忍性是其的基本要求。因为分布式系统的设计初衷就是利用集群多集的能力去处理单机无法解决的问题。分区容忍性(可扩展性)通过通过scale up和scale out实现的,也就是通过升级硬件或者增加机器来提升分布式系统的性能。这么说,可扩展性和可用性是相关联的。可扩展性好的系统,其可用性一般会比较高。所以分布式系统的所有问题基本都是在一致性和可用性之间进行协调和平衡。在工程实践中的经验如下:

一般来说,交易系统类的业务对一致性的要求比较高,一般会采用ACID模型来保证数据的强一致性,所以其可用性和扩展性就比较差。而其他大多数业务系统一般不需要保证强一致性,只要最终一致就可以了,它们一般采用BASE模型,用最终一致性的思想来设计分布式系统,从而使得系统可以达到很高的可用性和扩展性。

一致性可以通过信息在分布式环境下分发来保证,而分发的方式和速度则决定一致性的程度。从客户端的角度来讲:一致性包含三种状态:强一致性、弱一致性、最终一致性(弱一致性的特例)。在下图的一致性光谱中我们可以看出,弱一致性性是异步冗余,读写操作的响应更加快;而强一致性一般都是同步冗余的,所以伴随着性能的下降。

美洲杯竞猜网址 1

而最终一致性还有其他变种:因果一致性(有逻辑关系的操作能读到更新值)、读你所写一致性(Read-your-writes Consistency,A用户操作只保证自己的后续操作能读到更新值)、会话一致性(保证整个会话期间的读写一致性)、单调一致性(单用户的操作顺序一致)。

Gossip是一种去中心化、容错并保证最终一致性的协议。

什么是Gossip协议

Gossip Protocol利用一种随机的方式将信息散播到整个网络中。正如Gossip本身的含义一样,Gossip协议的工作流程即类似于绯闻的传播,或者流行病的传播。具体而言Gossip Protocol可以分为Push-based和Pull-based两种。Push-based Gossip Protocol的具体工作流程如下:

  • 网络中的某个节点随机的选择其他b个节点作为传输对象。
  • 该节点向其选中的b个节点传输相应的信息
  • 接收到信息的节点重复完成相同的工作

Pull-based Gossip Protol的协议过程刚好相反:

  • 某个节点v随机的选择b个节点询问有没有最新的信息
  • 收到请求的节点回复节点v其最近未收到的信息

当然,为了提高Gossip协议的性能,还有基于Push-Pull的混合协议。同时需要注意的是Gossip协议并不对网络的质量做出任何要求,也不需要loss-free的网络协议。Gossip协议一般基于UDP实现,其自身即在应用层保证了协议的robustness。

SWIM:最终一致性

前面提到Gossip解决的问题就是在分布式环境下信息高效分发的问题,这个问题的解决决定着系统的一致性程度。而Gossip协议是基于一种叫做SWIM的协议( S calable W eakly-consistent I nfection-style Process Group M embership Protocol)。SWIM是一种无中心的分布式协议,各个节点之间通过p2p实现信息交流同步各节点状态的方法。看名字也知道这是一种弱一致性的实现。

SWIM协议给每个进程组成员在本地维护一个成员表,记录该组存活的进程。该协议通过失效检测器(Failure Detector)和传播组件(Dissemination Component)来完成工作。

SWIM的失效检测器会检测失效的节点并将失效节点的更新信息发送给传播组件。SWIM的传播组件通过多播(multicast)的形式将失效信息传播给组内的其他成员。

协议的可扩展性体现在:新成员的加入和退出也以同样的方式进行多播通信。而在基本的时间周期内进行失效检测能够保证在限定的时间范围内完成完备性检查,即每个失效的进程都能最终被检测到(最终一致性)。通过多播方式传输协议消的问题在于效率不好也不可靠,通过在ping和ack消息中捎带成员更新信息能够降低丢包率和减少传输时延。这种传播方式被称为可传导的方式(Infection-style)。

Background:分布式环境

Gossip是为了解决分布式遇到的问题而设计的。由于服务和数据分布在不同的机器上,节点之间的每次交互都伴随着网络延迟、网络故障等的性能问题。可见,分布式系统会比单机系统遇到更多的难题。

如CAP理论 所描述的,CAP三个因素在分布式的条件下只能满足两个。对于分布式系统来说,分区容忍性是其的基本要求。因为分布式系统的设计初衷就是利用集群多集的能力去处理单机无法解决的问题。分区容忍性(可扩展性)通过通过scale up和scale out实现的,也就是通过升级硬件或者增加机器来提升分布式系统的性能。这么说,可扩展性和可用性是相关联的。可扩展性好的系统,其可用性一般会比较高。所以分布式系统的所有问题基本都是在一致性和可用性之间进行协调和平衡。在工程实践中的经验如下:

一般来说,交易系统类的业务对一致性的要求比较高,一般会采用ACID模型来保证数据的强一致性,所以其可用性和扩展性就比较差。而其他大多数业务系统一般不需要保证强一致性,只要最终一致就可以了,它们一般采用BASE模型,用最终一致性的思想来设计分布式系统,从而使得系统可以达到很高的可用性和扩展性。

美洲杯竞猜网址,一致性可以通过信息在分布式环境下分发来保证,而分发的方式和速度则决定一致性的程度。从客户端的角度来讲:一致性包含三种状态:强一致性、弱一致性、最终一致性(弱一致性的特例)。在下图的一致性光谱中我们可以看出,弱一致性性是异步冗余,读写操作的响应更加快;而强一致性一般都是同步冗余的,所以伴随着性能的下降。

美洲杯竞猜网址 2

而最终一致性还有其他变种:因果一致性(有逻辑关系的操作能读到更新值)、读你所写一致性(Read-your-writes Consistency,A用户操作只保证自己的后续操作能读到更新值)、会话一致性(保证整个会话期间的读写一致性)、单调一致性(单用户的操作顺序一致)。

Gossip协议的性能

Gossip协议的分析是基于流行病学(Epidemiology)研究的。因此在分析Gossip的性能之前,需要首先介绍一下流行病学中基本的模型。

TAG标签:
版权声明:本文由美洲杯外围下注发布于系统,转载请注明出处:Gossip协议