第255章 这是款生存游戏(1 / 2)

加入书签

前言

在一年我曾经做过一Zkeeper相关总,现在们再把捡回来,重新的一些前后果都得更加白。

、分布系统与Zkeeper的

1.1集中服务

们先从务部署构的发历程说,其实非就是中式和布式,中式就说,什我都是一台机搞定的。分布式是多台务器联完成。以在一始的时一般都从一台务器开,将我的服务署上去,然后就一些老路,Web应用部署在Tt上开8080端口提服务,后它需的一个据库服就开放3306口提供。它的优就在于构,部,项目构都比简单。

然后再据业务发展去展,那展同样可以分两种方,一种横向扩,一种纵向扩。既然台搞不,那就不提升个服务的性能,要不就多几台起上。是我们想,也是个人会把服器安排服服帖的呀,台机子挂,那全挂了。而且大主机的买,还研发,护人才,那都是花大价的。这给大家展一个“摩尔定

简单点说,就我花两的钱,本买不两倍的能。但横向扩就不一了,一人打不,叫多个人一打不就了?

1.2去IOE运

阿里巴搞出的一个号,具点就是IBM小机,Ole数据,EMC的高端储,有趣的也以了解下。因当时面的问题,企业果需要升单机理能力,成本会高且性比极低。还整天这怕那,一宕就整个务停掉。慢慢的内很多司跟着起响应,分布式起来了。

1.3分布式

式系统着它具的定义:分布式统是一硬件或软件组分布在同的网计算机,彼此间仅通消息传进行通和协调系统。以就是堆计算联合起对外提服务,是对于户来说,像是一机子在成这事。

特点多,大就是下5个:布:这就是多计算机被放置了不同位置对:集群的多个作节点是一个色,干都一样活儿。且存在本概念发:多机器同操作一数据可会引发数据不致问题局时钟:多个主上的事先后顺会对结产生影,这也分布式景中非复杂的个问题种故障:某节点机,网不好···突发

1.4分布场景中常遇到几个问通信异:其实是网络题,导多节点态下数不一致络孤立:这个其就是各子网络部正常,但是整系统的络是不常的。致局部据不一的问题

节点宕问题分式三态:成功,败,超这3种态引出各个问。请求送和结响应都可能丢,无法定消息否发送/处理成数据丢:这个般通过本机制,从其它点读取决,或对于有态的节来说丢数据就以通过复状态解决。常处理则:任在设计段考虑的异常况都必假设一会在实运行中

1.5衡量布式系的性能准性能:主要就吞吐能,响应迟,并能力。统某一间可以理的数总量,常是用统每秒理的总据量衡,而响延迟指是完成一功能需要的时间。发能力是同时成某一能的能,通常是用QPS衡量用性:面对各异常时以正确供服务能力。如我们说的59就是一年内有5分的宕机间。69就是31秒可展性:可以通扩大机规模达提高系性能的

性:副管理

是这些准都是个方面求太高后会带另外一面变差,比如说们需要到高可,可能要多个本,但多个副的状态,对于据的一性又很去做到。然后吞吐下很难做低延迟,所以我需要针自己的务场景进行考

1.6对于致性的展强一性:写作完成后,读作一定读到最数据,分布式景中这是非常实现的,比如Pxs算法,Qr机,ZAB协议都干这个的。弱致性:承诺可立即读写入的,也不诺多久后数据够达到致,但尽可能保证到个时间别(比XX时,XX分,XX秒),数可达到致性状

有一个例叫做终一致,就是可能快保证数的一致。但是这快到底多快,没有准定义了。好比女想要吃炸鸡,给点了外卖,是美团手,饿吗骑手说不准么时候到,他能说保尽快送。就这个意思。

因为终一致实在是弱了所我们还一些特情况会现读写致性,是指用读取自写入的果永远以第一间看到己更新内容,个就像信朋友一样的,我们发来的东西,微信一定会我们看的,可朋友们不是你了立刻能看到,那可就不准了。

还有些单调一致性,因果一性就不开说明,有兴的小伙可以自搜索。

总而言,为了证系统高可用,防止单故障引的问题,并能够分布在同节点的副本能正常用户提服务,时,我的Zkeeper就应运生了。就能帮我们解这个分式系统数据一性的问

需要决这个题我们要了解布式事,分布一致性法,Qr机制,CAP和BASE论,接来我们慢去展

二、布式事

事务:单机存系统中来保证储系统数据状一致性,这是不读起来点拗口,没事,们换个法,广上的事,就是一个事的所有作,要全部成,要不部失败,没有中状态。义一点,那就是据库做那些操。特征很简单,就是耳能详的ACID。

分布系统中个节点仅仅知自己的作是否功,但不知道它节点个啥情,这就可能导各节点状态可是不一的,所为了实跨越多点且保事务的ACID,需要入一个调者,后参与务的各节点都做参与

典型套路就2PC3PC,接下来们慢慢

2.12PC是个什东西

事务的与过程会产生个角色,暂时我先这么解,协者负责务的发,而参者负责行事务。

假定在上面3个角,分别一个协和两个与,此我们需A,B行一个务,并要求这事务,么同时功,要同时失

2PC阶段:执行

协调者先发出个命令,要求参者A,与者B都去执这个事,但是提交

的再详一点,会产生red,nd的志,锁资源,行事务。但是执完了之,直接协调者报告,问一下,大哥我提交吗?

这个日常写Jv的过中应该常遇到,就是前写了一堆操作,但是等最后一会写一()这的东西,这就是谓的执但不提

2PC阶段二:提交事

当协者收到一阶段的所有务参与(图中A,B)的反馈(这个反简单理为,告协调者面的第阶段执成功了)时,就送命令所有参者提交务。

果要说再细一,那就协调者到反馈,且所有与者均应可以交,则知参与进行it,否则rllk

所以2PC也叫二阶段交,其就是这简单分了两步,一步执,一步交。

2PC的4个缺点:性能

个流程下来就道这明产生了步阻塞,各个需操作数库的节都占用数据库资源。有当协者收到有节点准备完的反馈,事务协者才会知itrrllk,而参者执行这个itrrllk的操后,才去释放源。

2PC的4个缺点:单点故

那我刚刚也道了,调者才这个事的核心。假如此协调者障宕机,会导致知无法达到参者的问,比如不到那itrrllk,整一个务便会滞。

2PC的4个缺点:数据不

者在第阶段会送itrrllk。可是并不能证每一节点都常收到个命令,所以会能窜在,参与者A收到了令,提了事务,但是参者B没。所以络波动永恒的因,你远无法开这个素。

2PC的4个缺点:不存在错机制

这个协者需要到所有节点反准备完才会下it的示,任一个参者的响没有收,协调就会进等待,且只要在一个机的节,都会使得整个务失败滚。

2.23PC是个东西

2PC前提下行了一改良,2PC的准备段进行分,形,,三阶段。

并且引超时机,一旦务参与在指定间内没收到协者的itrrllk指令,就会自进行本it,决协调的单点障问题

3PC一阶段

协调者询问:你们这人到底不能行?参与者根据自的实际况回答yesrn。

3PC第二

参与者是返回意,协者则向有参与发送预交请求,并进入备阶段,这里的备阶段实就是参与者定资源,等待指的意思,然后就事务的行,此也像2PC一样,执行但提交。后等待调者的令,此如果迟等不到令,一时间后会自行地提交

但是这也会存弊端,如协调成功给1,2参者都发回滚,后3刚就没收,那么3就自动交了,以超时制其实不能完保证数的一致

三、布式一性算法

3.1Pxs算

不知大家有有看到上一年那篇从开始的并发()---Zkeeper群的搭和leder选如果需详细了,推荐转到那哦。

↑返回顶部↑

书页/目录