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

曲靖企业网站建设烟台网站seo

曲靖企业网站建设,烟台网站seo,全新升级网站,wordpress一键变灰色Broker能够处理来自KafkaController的LeaderAndIsrRequest、StopReplicaRequest、UpdateMetadataRequest等请求。 在Kafka集群的多个Broker中#xff0c;有一个Broker会被选举为Controller Leader,负责管理整个集群中所有的分区和副本的状态。 例如#xff1a;当某分区的Le…Broker能够处理来自KafkaController的LeaderAndIsrRequest、StopReplicaRequest、UpdateMetadataRequest等请求。 在Kafka集群的多个Broker中有一个Broker会被选举为Controller Leader,负责管理整个集群中所有的分区和副本的状态。 例如当某分区的Leader副本出现故障时由Controller负责为该分区重新选举新的Leader副本 当使用kafka-topics脚本增加某Topic的分区数量时由Controller管理分区的重新分配 当检测到分区的ISR集合发生变化时由Controller通知集群中所有的Broker更新其MetadataCache信息。 为了实现Controller的高可用一个Broker被选为Leader之后其他的Broker都会成为Follower(不加特殊说明的情况下本文的“Leader/Follower”指的都是KafkaController的Leader/Follower,请不要与副本机制中的Leader副本和Follower副本混淆),会从剩下的Follower中选出新的Controller Leader来管理集群。 选举Controller Leader依赖于ZooKeeper实现每个Broker启动时都会创建一个KafkaController对象但是集群中只能存在一个Controller Leader来对外提供服务。 在集群启动时多个Broker上的KafkaController会在指定路径下竞争创建节点只有第一个成功创建节点的KafkaController才能成为Leader,而其余的KafkaController则成为Follower。 当Leader出现故障后所有的Follower会收到通知再次竞争在该路径下创建节点从而选出新的Leader。这也是ZooKeeper的一种常见用法。 在Kafka早期版本中并没有采用KafkaController的设计来对分区和副本状态进行管理而是依赖于ZooKeeper的Watcher和队列。 在早期版本的设计中每个Broker都会在ZooKeeper上注册Watcher,ZooKeeper上就会出现大量Watcher,当分区或副本状态变化时会唤醒很多不必要的Watcher,这种严重依赖ZooKeeper的设计出现了“脑裂”、“羊群效应”以及ZooKeeper集群过载的情况。 在新版本设计中只有Controller Leader在ZooKeeper上注册Watcher,其他Broker几乎不用再监听ZooKeeper中的数据变化。 旧版本中Broker之间传递事件依赖于ZooKeeper的设计比较低效在新版设计中ControllerLeader直接与Broker交互。旧版本的设计毕竟已经废弃在设计分布式系统时要适度依赖ZooKeeper集群合理利用ZooKeeperWatcher,否则就会出现上述问题。 我们先通过图了解ZooKeeper中与KafkaController相关的路径以及该路径中记录的内容的含义。 /brokers/ids/[id]:记录了集群中可用Broker的id。/brokers/topics/topic]partitions:记录了一个Topic中所有分区的分配信息以及AR集合信息。/brokers/topics/topic/partitions/[partitionid/state:记录了某Partition的Leader副本所在Brokerld、lead_epoch、ISR集合、ZKVersion等信息。/controller_epoch:记录了当前Controller Leader的年代信息。/controller:记录了当前Controller Leader的Id,也用于Controller Leader的选举。/admin/reassign partitions:记录了需要进行副本重新分配的分区。/admin/preferred_replica_election:记录了需要进行“优先副本”选举的分区。“优先副本”是在创建分区时为其指定的第一个副本。/admin/delete_topics:记录了待删除的Topic。/isr_change_notification:记录了一段时间内ISR集合发生变化的分区。/config:记录了一些配置信息。 在详细介绍KafkaController的相关组件之前先从整体上了解KafkaController的设计以及组件之间的依赖关系如图所示。 KafkaController组织并封装了其他组件对外提供API接口。ZookeeperLeaderElector主要用于Controller Leader的选举。ControllerContextKafkaController的上下文信息缓存了ZooKeeper中记录的整个集群的元信息例如可用Broker、全部的Topic、分区、副本的信息。ControllerChannelManager维护了Controller Leader与集群中其他Broker之间的网络连接是管理整个集群的基础。TopicDeletionManager用于对指定的Topic进行删除。PartitionStateMachine用于管理集群中所有Partition状态的状态机。ReplicaStateMachine用于管理集群中所有副本状态的状态机。ControllerBrokerRequestBatch实现了向Broker批量发送请求的功能。*PartitionLeaderSelector实现了多种Leader副本选举策略。*Listener是ZooKeeper上的监听器实现了对ZooKeeper上某些节点中的数据、子节点或ZooKeeper Session状态的监听被触发后调用相应的业务逻辑。 从另一个角度来看KafkaController是ZooKeeper与Kafka集群交互的桥梁 它一方面对ZooKeeper进行监听其中包括Broker写入到ZooKeeper中的数据也包括管理员使用脚本写入的数据 另一方面根据ZooKeeper中数据的变化做出相应的处理通过LeaderAndlsrRequest、StopReplicaRequest、UpdateMetadataRequest等请求控制每个Broker的工作。 而且KafkaController本身也通过ZooKeeper提供了高可用的机制。通过上述组件之间的协调工作构成了一个统一的整体。
http://www.w-s-a.com/news/266590/

相关文章:

  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程
  • 湖南城乡建设厅网站163注册企业邮箱
  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少
  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好
  • 黄冈网站制作wordpress为什么不能显示域名
  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择
  • 个人网站教程个人网站有必要备案吗
  • 网站建设推广好做吗黄浦企业网站制作
  • 怎样做28网站代理中山网站建设方案外包
  • vs2010做网站前台搭建小网站
  • 做视频必须知道的一些网站wordpress 标签鼠标滑过_弹出的title 代码美化
  • 怎么做室内设计公司网站电商运营培训视频课程
  • 昆明网站策划天津市建筑信息平台