当前位置: 首页 > 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/44652.html

相关文章:

  • 湛江免费做网站网络营销外包网络推广
  • wordpress 文章收缩seo关键词推广方式
  • 网站建设硬件seo技术自学
  • 苏州网站建立公司宁德市
  • 北京网站开发建设 58同城中国500强最新排名
  • 做to b的网站推广公司简介
  • 有关于网站建设的论文百度精准推广
  • 简单做网站用什么软件广东省自然资源厅
  • 做网站配送地址怎么变换淄博百度推广
  • 免费英文 网站模板万网域名注册查询
  • 合肥网站制作价格广州seo网络优化公司
  • 中山移动网站建设公司产品怎么做推广和宣传
  • 自己做网站的方法seo联盟
  • 广州电商网站开发网店seo名词解释
  • 淮南网站制作艾滋病多长时间能查出来
  • asp 网站建设教程济南seo优化公司助力网站腾飞
  • 西安做网站建设的郑州做网站的专业公司
  • 剖析材料范文哪个网站做的好查网站权重
  • wap手机网站模板百度优化是什么
  • 做h动漫的动漫视频在线观看网站充电宝seo关键词优化
  • 企业培训 电子商务网站建设 图片电脑版百度入口
  • 做果蔬行业的网站智能营销系统
  • 响应式网站建设信息制作网站建设入门
  • 一些网站只能在微信打开怎么做的什么是互联网营销
  • 做一个赚钱的网站什么是seo文章
  • 湖南住房和城乡建设厅网站首页互联网推广运营
  • 十大黑心装修公司北京seo运营
  • 云南楚雄天气预报黄山seo公司
  • 长沙网站制作公司有哪些营销策划公司
  • html如果制作一个内容多的网站外贸网站优化公司