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

做网站要学习什么网推项目

做网站要学习什么,网推项目,青阳做网站,南宁企业网站制作哪家好Kafka实在2.8之后就用KRaft进行集群管理了 Conroller负责选举Leader,同时Controller管理集群元数据状态信息,并将元数据信息同步给各个分区的Leader 和Zookeeper管理一样,会选出一个Broker作为Controller去管理整个集群,但是元数…

Kafka实在2.8之后就用KRaft进行集群管理了

Conroller负责选举Leader,同时Controller管理集群元数据状态信息,并将元数据信息同步给各个分区的Leader

和Zookeeper管理一样,会选出一个Broker作为Controller去管理整个集群,但是元数据存储不同了

Zookeeper是树形结构存储,为每个ZNode,每个分区有一个ZNode节点

而KRaft就是用日志存储的,Controller中会有个单分区的内部主题_cluster_metadata存储元数据信息


Zookeeper本身的限制

Zookeeper写操作串行的限制

Zookeeper 的写操作(如分区选举、Controller 变更)是串行的,成为性能瓶颈,尤其在集群规模大时(如数十万分区)

ZK 模式 下,Kafka 的元数据(如分区选举、Controller 变更)依赖 ZooKeeper 存储,而 ZooKeeper 的所有写操作都是串行化的

ZooKeeper 集群有一个 Leader 节点(通过 ZAB 协议选举),所有写请求(无论来自哪个 Kafka Broker)都必须由 Leader 处理

Zookeeper单线程回调机制

事件触发
当节点发生变化(如 Broker 宕机,节点被删除),ZooKeeper 会生成一个 Watcher 事件(如 NodeDeleted

事件派发
ZooKeeper 服务端将事件放入单线程队列,由 单线程的 EventThread 依次执行回调(通知 Kafka Controller)

Zookeeper模型存储限制

Zookeeper 的存储模型限制了 Kafka 分区数量的扩展(如单 Zookeeper 集群难以支撑百万级分区)

Zookeeper使用树形结构存储元数据,百万个分区就有百万个ZNode节点,会导致内存占用激增

并且Zookeeper必须将所有ZNode加载到内存中,容易OOM+停顿

Zookeeper的单Controller机制

Zookeeper是单Controller机制,Controller选举的时候没有备用方案而是所有的Broker都去参与选举,选举过程不稳定还会有脑裂问题

KRaft 中有类似备用 Controller 的概念,有一个主Controller和多个Controller副本。在 KRaft 协议中,会有一个 Leader 作为主要的 Controller 负责管理和协调工作,同时存在多个 Follower 节点可以在 Leader 出现故障时快速切换成为新的 Leader(即新的 Controller)


KRaft对比Zookeeper的优势

存储方式+并发+Controller副本机制(Kraft的性能更好)

1.日志管理元数据,支持并发写,解决Zookeeper单线程写限制。因为Kafka的Offeset的频繁更新会有大量的写操作,Zookeeper单线程写性能不足

2.Kafka将offset和元数据分开存储,而zookeeper将offset和元数据都存到ZNode中,offset写频繁,元数据读频繁,两者分开存储会提高系统效率

3.Kafka支持执行命令后并发通知,解决Zookeeper单线程回调机制

4.KRaft是一种选举算法,不像Zookeeper有本身系统的限制

KRaft中将Kafka工作产生的日志都放到了一个单分区的内部主题_cluster_metadata

Zookeeper使用树形结构存储元数据,百万个分区就有百万个ZNode节点,会导致内存占用激增。并且Zookeeper必须将所有ZNode加载到内存中,容易OOM+停顿

5.KRaft是单主Controller+多个Controller副本,在Controller宕机后能迅速用副本恢复。而Zookeeper是单Controller机制,选举过程很慢,同时还会有脑裂问题的出现

6.Follower同步Leader机制从原本的ISR机制变成了少数服从多数投票机制


Raft和KRaft的不同

Raft算法使用推模式同步

KRaft算法使用拉模式同步

新角色Observer

因为KRaft是节点是主动去拉取日志,所以对比之前的Leader和Follower角色,还多出了一个Observer角色去Leader中去拉取日志

其实这个角色只是一个抽象的模型,实际上就是Broker去拉取日志而已


KRaft为什么不用推模式?KRaft和Raft的优缺点

Raft因为是推模式,所以节点同步的实时性会更好,但是没有考虑Follower的性能+消费能力,可能会造成压力

KRaft因为是拉模式,所以节点实时性不强,但是Follower会根据自身情况控制消费速度,减轻自身压力防止系统资源浪费

但是实际上,KRaft因为是适配Kafka的,Kafka本身日志同步就是拉模式,所以KRaft也改成拉模式了


http://www.dtcms.com/wzjs/518400.html

相关文章:

  • 做写字楼租赁用什么网站好企业宣传方式有哪些
  • 用html制作网站代码服务营销案例
  • 做跨境电商网站百度灰色关键词排名代做
  • 做一个网站需要多长时间360竞价推广技巧
  • 订餐网站的数据库建设软文100字左右案例
  • 相城建设监理有限公司网站排名优化培训
  • 旅游网站设计模板图片西安网站优化
  • 做网站续费搜索引擎优化的主要策略
  • 青岛网上房地产查询系统网站关键词优化报价
  • 青浦网站制作su35google网页版登录入口
  • ps做产品的网站网络媒体发稿平台
  • 资源采集网站如何做站长基地
  • 长沙小升初有什么做试卷的网站优量汇广告平台
  • 阜宁建设网站的公司seo站长工具平台
  • 重庆政府网站建设单位做网络推广的团队
  • magento跨境b2b网站建设电商运营数据六大指标
  • 怎么做公司网站优化360关键词指数查询
  • 企业网站需要注意什么一般开车用什么导航最好
  • 山西省城乡住房和建设厅网站建立网站平台
  • 信息网站怎么做网络媒体推广方案
  • 国内大的网站建设公司商铺营销推广方案
  • 加强党建网站建设的重要性北京做网站的公司有哪些
  • 网站显示内容不显示不出来百度app安装下载
  • 最好用的网站开发软件最近三天的新闻热点
  • 漳州网站建设到博大赞成都搜狗seo
  • 五八同城客服网站怎么做人力资源培训机构
  • 全球知名购物网站有哪些南京百度推广优化
  • 深圳发型网站建设电商seo名词解释
  • 做网站的规范尺寸专业竞价托管
  • WordPress网站远程访问南阳网站seo