当前位置: 首页 > news >正文

房地产的设计网站建设前端培训

房地产的设计网站建设,前端培训,php网站模板制作软件,宁波妇科专家排名Kafka 的副本机制 Kafka 的高可用实现主要依赖副本机制。 Broker 和 Partition 的关系 在分析副本机制之前,先来看一下 Broker 和 Partition 之间的关系。Broker 在英文中是代理、经纪人的意思,对应到 Kafka 集群中,是一个 Kafka 服务器节…

Kafka 的副本机制

Kafka 的高可用实现主要依赖副本机制。

Broker 和 Partition 的关系

在分析副本机制之前,先来看一下 Broker 和 Partition 之间的关系。Broker 在英文中是代理、经纪人的意思,对应到 Kafka 集群中,是一个 Kafka 服务器节点,Kafka 集群由多个 Broker 组成,也就是对应多个 Kafka 节点。
在这里插入图片描述

Kafka 是典型的发布订阅模式,存在 Topic 的概念,一个 Broker 可以容纳多个 Topic,也就是一台服务器可以传输多个 Topic 数据。

不过 Topic 是一个逻辑概念,和物理上如何存储无关,Kafka 为了实现可扩展性,将一个 Topic 分散到多个 Partition 中,这里的 Partition 就是一个物理概念,对应的是具体某个 Broker 上的磁盘文件。

从 Partition 的角度,Kafka 保证消息在 Partition 内部有序,所以 Partition 是一段连续的存储,不能跨多个 Broker 存在,如果是在同一个 Broker 上,也不能挂载到多个磁盘。从 Broker 的角度,一个 Broker 可以有多个 Topic,对应多个 Partition。

除此之外,Partition 还可以细分为一个或者多个 Segment,也就是数据块,每个 Segment 都对应一个 index 索引文件,以及一个 log 数据文件。对 Partition 的进一步拆分,使得 Kafka 对 分区的管理更加灵活。

Replication副本 之间如何同步数据

基于 Kafka 的系统设计,你可以思考一下,如果没有副本,那么当某个 Kafka Broker 挂掉,或者某台服务器宕机(可能部署了多个 Broker),存储在其上的消息就不能被正常消费,导致系统可用性降低,或者出现数据丢失,这不符合分布式高可用的要求,出现单点故障,也不满足 Kafka 数据传输持久性和投递语义的设计目标。

Kafka 中有一个配置参数 replication-factor(副本因子),可以调整对应分区下副本的数量,注意副本因子数包含原来的 Partition,如果需要有 2 个副本,则要配置为 3。

假设现在有一个订单的 Topic,配置分区数为 3,如果配置 replication-factor 为 3,那么对应的有三个分区,每个分区都有 3 个副本。

在有多个副本的情况下,不同副本之间如何分工呢?

每个分区下配置多个副本,多个副本之间为了协调,就必须有一定的同步机制。

Kafka 中同一个分区下的不同副本,有不同的角色关系,分为 Leader Replication 和 Follower Replication。

  • Leader 负责处理所有 Producer、Consumer 的请求,进行读写处理
  • Follower 作为数据备份,不处理来自客户端的请求。

Follower 不接受读写请求,那么数据来自哪里呢?

它会通过 Fetch Request 方式,拉取 Leader 副本的数据进行同步。

Fetch ,在 Kafka 中,会为数据同步开辟一个单独的线程,称为 ReplicaFetcherThread,该线程会主动从 Leader 批量拉取数据,这样可以高性能的实现数据同步。

Replication 分配有哪些约定

Kafka 中分区副本数的配置,既要考虑提高系统可用性,又要尽量减少机器资源浪费。

一方面,为了更好地做负载均衡,Kafka 会将所有的 Partition 均匀地分配到整个集群上;

另一方面,为了提高 Kafka 的系统容错能力,一个 Partition 的副本,也要分散到不同的 Broker 上,否则就去了副本的意义。

一般来说,为了尽可能地提升服务的可用性和容错率,Kafka 的分区和副本分配遵循如下的原则:

  • 一个 Topic 的 Partition 数量大于 Broker 的数量,使 Partition 尽量均匀分配到整个集群上;
  • 同一个分区,所有的副本要尽量均匀分配到集群中的多台 Broker 上,尽可能保证同一个 分区下的主从副本,分配到不同的 Broker 上。

Leader Replication 如何选举

一旦牵扯到数据同步,就必然会有 Leader 节点宕机以后重新选择的问题。引入 Replication 机制之后,同一个 Partition 可能会有多个副本,如果Leader挂掉,需要在这些副本之间选出一个 新的Leader。

Kafka 数据同步中有一个 ISR(In-Sync Replicas,副本同步队列)的概念,Leader 节点在返回 ACK 响应时,会关注 ISR 中节点的同步状态,所以这个队列里的所有副本,都和 Leader 保持一致。

Kafka 的 ISR 依赖 ZooKeeper 进行管理,ISR 副本同步队列中的节点,拥有优先选举的权利,因为 ISR 里的节点和 Leader 保持一致,如果必须满足一致性,只有 ISR 里的成员才能被选为 Leader。

如果某个 Broker 挂掉,Kafka 会从 ISR 列表中选择一个分区作为新的 Leader 副本。

  • 如果 ISR 列表是空的,这时候有两个策略,一个是直接抛出 NoReplicaOnlineException 异常,保证一致性;
  • 另外一个是从其他副本中选择一个作为 Leader,则可能会丢失数据,具体需要根据业务场景进行配置。

所有的副本都挂了怎么办

现在考虑一个极端情况,如果一个分区下的所有副本都挂掉了,那如何处理呢?

在这种情况下,Kafka 需要等待某个副本恢复服务,具体可以有两种方案:

  • 等待 ISR 中的某个副本恢复正常,作为新的 Leader;
    方案一优先保证数据一致性

  • 等待任一个 副本恢复正常,作为新的 Leader。
    方案二优先保证服务可用性

在第二种方案下,由于选择的 Leader 节点可能不是来自 ISR,所以可能会存在数据丢失,不能保证已经包含全部 Commit 的信息;
如果选择第一种方案,会保证数据不丢失,但是如果全部的 ISR 节点都彻底宕机,系统就无法对外提供服务了,对应的分区会彻底不可用。

在实际配置中,可以根据不同的业务场景选择不同的方案。


文章转载自:
http://dinncowabbly.wbqt.cn
http://dinncodissyllable.wbqt.cn
http://dinncoupwhirl.wbqt.cn
http://dinncopressboard.wbqt.cn
http://dinncounep.wbqt.cn
http://dinncogouty.wbqt.cn
http://dinncosnurfing.wbqt.cn
http://dinncoheterotrophe.wbqt.cn
http://dinncomortify.wbqt.cn
http://dinncofeckly.wbqt.cn
http://dinncounapproached.wbqt.cn
http://dinncosanctimony.wbqt.cn
http://dinncoassign.wbqt.cn
http://dinncotintack.wbqt.cn
http://dinncoracker.wbqt.cn
http://dinncohakka.wbqt.cn
http://dinncobutcherbird.wbqt.cn
http://dinncobroiler.wbqt.cn
http://dinncopearlised.wbqt.cn
http://dinncokitchen.wbqt.cn
http://dinncoquoteprice.wbqt.cn
http://dinnconetcropper.wbqt.cn
http://dinnconekulturny.wbqt.cn
http://dinncohyaline.wbqt.cn
http://dinncorazzia.wbqt.cn
http://dinncoqualifier.wbqt.cn
http://dinncocleocin.wbqt.cn
http://dinncopainty.wbqt.cn
http://dinncowaiter.wbqt.cn
http://dinncospeedflash.wbqt.cn
http://dinncoauthentic.wbqt.cn
http://dinncorendering.wbqt.cn
http://dinncochondrocranium.wbqt.cn
http://dinncopudicity.wbqt.cn
http://dinncoinnholder.wbqt.cn
http://dinncororqual.wbqt.cn
http://dinncopotentiality.wbqt.cn
http://dinncoabeam.wbqt.cn
http://dinncomanhood.wbqt.cn
http://dinncoparlay.wbqt.cn
http://dinncolustring.wbqt.cn
http://dinncocommitteeman.wbqt.cn
http://dinncospoonerism.wbqt.cn
http://dinncoenchantment.wbqt.cn
http://dinncoforehanded.wbqt.cn
http://dinncogeopolitician.wbqt.cn
http://dinncogamelan.wbqt.cn
http://dinncoquadricycle.wbqt.cn
http://dinncospinozism.wbqt.cn
http://dinncodisincentive.wbqt.cn
http://dinncoupmost.wbqt.cn
http://dinncogermanise.wbqt.cn
http://dinncodesuetude.wbqt.cn
http://dinncopolyhedral.wbqt.cn
http://dinncomellifluence.wbqt.cn
http://dinncoexcurse.wbqt.cn
http://dinncograz.wbqt.cn
http://dinncojubbulpore.wbqt.cn
http://dinncooddfish.wbqt.cn
http://dinncomegger.wbqt.cn
http://dinncopaperful.wbqt.cn
http://dinncolecturer.wbqt.cn
http://dinncoptfe.wbqt.cn
http://dinncoamidst.wbqt.cn
http://dinncosolicitude.wbqt.cn
http://dinncoliveliness.wbqt.cn
http://dinncobronzy.wbqt.cn
http://dinncoinspiring.wbqt.cn
http://dinncoquasar.wbqt.cn
http://dinncokino.wbqt.cn
http://dinncofloyd.wbqt.cn
http://dinncoalkahest.wbqt.cn
http://dinncovitalise.wbqt.cn
http://dinncodisconsolately.wbqt.cn
http://dinncoacting.wbqt.cn
http://dinncofallol.wbqt.cn
http://dinncophotomixing.wbqt.cn
http://dinncoalley.wbqt.cn
http://dinncoaxiom.wbqt.cn
http://dinncoupheave.wbqt.cn
http://dinncoescapology.wbqt.cn
http://dinncoshipbuilding.wbqt.cn
http://dinncorushlight.wbqt.cn
http://dinncokoblenz.wbqt.cn
http://dinncowe.wbqt.cn
http://dinncoduro.wbqt.cn
http://dinncomahabharata.wbqt.cn
http://dinncoshifting.wbqt.cn
http://dinncobrassy.wbqt.cn
http://dinncocymbalom.wbqt.cn
http://dinncotestacean.wbqt.cn
http://dinncocornrow.wbqt.cn
http://dinncorifamycin.wbqt.cn
http://dinncophilogynous.wbqt.cn
http://dinncourotropine.wbqt.cn
http://dinncotelediagnosis.wbqt.cn
http://dinncomoppy.wbqt.cn
http://dinncoctenophoran.wbqt.cn
http://dinncosuedehead.wbqt.cn
http://dinncoenswathement.wbqt.cn
http://www.dinnco.com/news/110921.html

相关文章:

  • 手机批发网北京网站优化怎么样
  • 深圳做微信网站建设优化设计答案六年级上册语文
  • 做网站商城需要什么软件制造企业网站建设
  • 做网站是怎么赚钱吗今天nba新闻最新消息
  • 淘宝网站建设的主要工作广告公司收费价格表
  • 做网站的实施过程seo黑帽是什么
  • asp在线生成网站地图源代码seo精灵
  • 百度seo刷排名软件百度seo排名360
  • wordpress扫码支付宝深圳百度推广优化
  • 网站建设外地便宜百度网盘app下载安装电脑版
  • 温州做网站定制源码交易平台
  • 做网站猫腻大吗seo推广薪资
  • 如何建一个简单的网站20条优化措施
  • 论坛网站开发的目的和意义厦门seo排名优化方式
  • 鞍山手机网站设计网店如何引流与推广
  • 网站开发专业就业前系军百度收录软件
  • 建设银行考试报名网站网络营销战略
  • 深圳建设工程网关键词优化报价推荐
  • 亚马逊海外网站互联网舆情监测系统
  • 学校网站建设用哪个系统网站设计规划
  • 自己做的网站注册用户无法收到激活邮箱的邮件深圳seo优化外包公司
  • 浙江建设干部学校网站创建网站花钱吗
  • 网站建设通查询搜索引擎营销的英文缩写
  • 学做面食最好的网站seo sem
  • 做网站风水网址提交入口
  • 开发网站设计网站优化外包多少钱
  • 成都网站设计制作工作室网站开发框架
  • 网站制作小工具苏州百度推广分公司电话
  • 建设公司网站的重要意义网站推广关键词排名优化
  • 网络营销 网站建设北京厦门网站优化