当前位置: 首页 > news >正文 怎样做好网站建设设计竞价推广案例 news 2025/10/23 20:20:09 怎样做好网站建设设计,竞价推广案例,e2ee网站开发,wordpress编辑作者投稿者英文文章目录 01. Kafka 消费者分区再均衡是什么#xff1f;02. Kafka 消费者分区再均衡的触发条件#xff1f;03. Kafka 消费者分区再均衡的过程#xff1f;04. Kafka 如何判定消费者已经死亡#xff1f;05. Kafka 如何避免消费者的分区再均衡?06. Kafka 消费者分区再均衡有什… 文章目录 01. Kafka 消费者分区再均衡是什么02. Kafka 消费者分区再均衡的触发条件03. Kafka 消费者分区再均衡的过程04. Kafka 如何判定消费者已经死亡05. Kafka 如何避免消费者的分区再均衡?06. Kafka 消费者分区再均衡有什么影响?07. Kafka 消费者分区再均衡的两种机制08. kafka 消费者分区再均衡协议09. kafka 消费者分区再均衡流程10. Kafka 消费者组固定成员是什么11. Kafka 消费者分区再均衡的4种场景 01. Kafka 消费者分区再均衡是什么 消费者群组里的消费者共享主题分区的所有权。当一个新消费者加入群组时它将开始读取一部分原本由其他消费者读取的消息。当一个消费者被关闭或发生崩溃时它将离开群组原本由它读取的分区将由群组里的其他消费者读取。 分区的所有权从一个消费者转移到另一个消费者的行为称为再均衡。再均衡非常重要它为消费者群组带来了高可用性和伸缩性你可以放心地添加或移除消费者。不过在正常情况下我们并不希望发生再均衡。 Rebalance 本质上是一组协议它规定了一个消费者组是如何达成一致来分配订阅 主题的所有分区的。假设某个组下有20个消费者实例该组订阅了一个有着100个分区的主题。正常情况下Kafka会为每个消费者平均分配5个分区。这个分配过程就被称为 Rebalance。 Rebalance 就是说如果消费组里的消费者数量有变化或消费的分区数有变化kafka 会重新分配消费者消费分区的关系。 02. Kafka 消费者分区再均衡的触发条件 主题发生变化比如管理员添加了新分区会导致分区重分配。Kafka 消费者端的 Rebalance 操作会在以下情况下发生 ① 消费者组中新增或减少了消费者 ② 消费者所订阅的主题的分区数量发生变化 ③ 消费者订阅的主题个数发生变化 后面两个通常都是运维的主动操作所以它们引发的 Rebalance 大都是不可避免的。实际上大部分情况下导致分区再均衡的原因都是消费者组成员数量发生变化。 03. Kafka 消费者分区再均衡的过程 Rebalance 是通过消费者群组中的称为“群组首领”消费者客户端进行的。 ① 选择群组首领当一个消费者想要加入消费者群组时它会向群组协调器发送 JoinGroup 请求。第一个加入群组的消费者将成为群组首领。 ② 消费者通过向被指派为群组协调器Coordinator的 Broker 定期发送心跳来维持它们和群组的从属关系以及它们对分区的所有权。 ③ 群组首领从群组协调器获取群组的成员列表列表中包含了所有最近发送过心跳的消费者它们被认为还“活着”并负责为每一个消费者分配分区。它使用实现了PartitionAssignor接口的类来决定哪些分区应该被分配给哪个消费者。 ④ 分区分配完毕之后群组首领会把分区分配信息发送给群组协调器 ⑤ 群组协调器再把这些信息发送给所有的消费者。每个消费者只能看到自己的分配信息只有群组首领会持有所有消费者及其分区所有权的信息。 04. Kafka 如何判定消费者已经死亡 消费者会向被指定为群组协调器的broker不同消费者群组的协调器可能不同发送心跳以此来保持群组成员关系和对分区的所有权关系。心跳是由消费者的一个后台线程发送的只要消费者能够以正常的时间间隔发送心跳它就会被认为还“活着”。 如果消费者在足够长的一段时间内没有发送心跳那么它的会话就将超时群组协调器会认为它已经“死亡”进而触发再均衡。如果一个消费者发生崩溃并停止读取消息那么群组协调器就会在几秒内收不到心跳它会认为消费者已经“死亡”进而触发再均衡。在这几秒时间里“死掉”的消费者不会读取分区里的消息。在关闭消费者后协调器会立即触发一次再均衡尽量降低处理延迟。 05. Kafka 如何避免消费者的分区再均衡? 真实应用场景中引发 rebalance 最常见的原因就是消费者组中新增或减少了消费者特别是consumer崩溃的情况。这里的崩溃不一定就是指 consumer进程“挂掉”或consumer进程所在的机器宕机。以下两种情况也被视为消亡我们要做的就是如何避免这两种不必要的 Rebalance 出现。 ① 未及时发送心跳 由于消费者未能及时发送心跳导致消费者被提出消费者组而导致的Rebalance因此需要仔细地设置session.timeout.ms 和 heartbeat.interval.ms的值这里给出一些推荐数值可以“无脑”地应用在生产环境中。 (1) 设置 session.timeout.ms 6s。 (2) 设置 heartbeat.interval.ms 2s。 要保证消费者实例在被判定为死亡之前能够发送至少 3 轮的心跳请求即 session.timeout.ms 3 * heartbeat.interval.ms。将 session.timeout.ms 设置成 6s 主要是为了让 Coordinator 能够更快地定位已经挂掉的 Consumer。毕竟我们还是希望能尽快揪出那些“尸位素餐”的 Consumer早日把它们踢出 Group。 ② 消费者消费时间过长无法在指定的时间内完成消息的处理 之前有一个客户在他们的场景中消费者消费数据时需要将消息处理之后写入到 MongoDB。显然这是一个很重的消费逻辑。MongoDB 的一丁点不稳定都会导致消费者程序消费时长的增加。此时max.poll.interval.ms 参数值的设置显得尤为关键。如果要避免非预期的 Rebalance你最好将该参数值设置得大一点比你的下游最大处理时间稍长一点。就拿 MongoDB 这个例子来说如果写 MongoDB 的最长时间是 7 分钟那么你可以将该参数设置为 8 分钟左右。 06. Kafka 消费者分区再均衡有什么影响? ① 影响消费者组的消费速度和吞吐量消费者重新分配分区可能会导致消费者停止消费一段时间直到重新分配完成。 ② 可能会产生消息重复消费 因为Consumer消费分区消息的offset提交过程不是实时的由参数auto.commit.interval.ms控制提交的最小频率默认是5000也就是最少每5s提交一次。我们试想以下场景提交位移之后的 3 秒发生了 Rebalance 在 Rebalance 之后所有 Consumer 从上一次提交的位移处继续消费但该位移已经是 3 秒前的位移数据了故在 Rebalance 发生前 3 秒消费的所有数据都要重新再消费一次。虽然可以通过减少 auto.commit.interval.ms 的值来提高提交频率但这么做只能缩小重复消费的时间窗口不可能完全消除它。 遗憾的是目前kafka社区对于Reblance带来的影响也没有彻底的解决办法。只能通过避免不必要的Rebalance减少影响。 07. Kafka 消费者分区再均衡的两种机制 根据消费者群组所使用的分区分配策略的不同再均衡可以分为两种类型。 ① 主动再均衡 range 、round-robin、sticky 分区分配策略 在进行主动再均衡期间所有消费者都放弃当前分配到的分区所有权即停止读取消息。消费者重新加入群组获得重新分配到的分区并继续读取消息。这样可以确保消费者群组中的每个消费者都获得相同数量的分区从而实现负载均衡。但这个过程会导致整个消费者群组在一个很短的时间窗口内不可用这个时间窗口的长短取决于消费者群组的大小和几个配置参数。 ② 协作再均衡cooperative sticky 分区分配策略 Kafka协作再均衡也称为增量再均衡用于在消费者组成员发生变化时重新分配分区。 协作再均衡机制只会重新分配发生变化的分区而不是所有分区比如一个消费者退出消费者组后它所消费的分区会重新分区给其他消费者。 协作再均衡通常是指将一个消费者的部分分区重新分配给另一个消费者其他消费者则继续读取没有被重新分配的分区。在协作再均衡中消费者群组首领会通知所有消费者它们将失去部分分区的所有权然后消费者会停止读取这些分区并放弃对它们的所有权。接着消费者群组首领会将这些没有所有权的分区分配给其他消费者从而实现分区的重新分配。虽然这种增量再均衡可能需要进行几次迭代直到达到稳定状态但它避免了主动再均衡中出现的“停止世界”停顿。这对大型消费者群组来说尤为重要因为它们的再均衡可能需要很长时间。 08. kafka 消费者分区再均衡协议 rebalance 本质上是一组协议。group 与 coordinator 共同使用这组协议完成group的rebalance。最新版本Kafka中提供了下面5个协议来处理rebalance相关事宜。 ① JoinGroup请求consumer请求加入组。 ② SyncGroup请求group leader把分配方案同步更新到组内所有成员中。 ③ Heartbeat请求consumer定期向coordinator汇报心跳表明自己依然存活。 ④ LeaveGroup请求consumer主动通知coordinator该consumer即将离组。 ⑤ DescribeGroup 请求查看组的所有信息包括成员信息、协议信息、分配方案以及订阅信息等。该请求类型主要供管理员使用。coordinator不使用该请求执行rebalance。 在rebalance过程中coordinator主要处理consumer发过来的JoinGroup和SyncGroup请求。当consumer主动离组时会发送LeaveGroup请求给coordinator。 在成功rebalance之后组内所有consumer都需要定期地向coordinator发送Heartbeat请求。而每个 consumer也是根据 Heartbeat请求的响应中是否包含REBALANCE_IN_PROGRESS来判断当前group是否开启了新一轮rebalance。 09. kafka 消费者分区再均衡流程 目前 rebalance主要分为两步加入组和同步更新分配方案。 ① 加入组组内所有 consumer 向 coordinator 发送 JoinGroup请求。当收集全 JoinGroup请求后coordinator从中选择一个 consumer 担任group的leader并把所有成员信息以及它们的订阅信息发送给leader。特别需要注意的是group 的 leader 和coordinator 不是一个概念。leader 是某个consumer 实例coordinator 通常是Kafka 集群中的一个 broker。另外 leader 而非coordinator负责为整个group的所有成员制定分配方案。 ② 同步更新分配方案group 的 leader 开始制定分配方案即根据前面提到的分配策略决定每个consumer都负责哪些topic的哪些分区。一旦分配完成leader会把这个分配方案封装进 SyncGroup 请求并发送给 coordinator。比较有意思的是组内所有成员都会发送 SyncGroup请求不过只有 leader发送的 SyncGroup请求中包含了分配方案。coordinator 接收到分配方案后把属于每个 consumer 的方案单独抽取出来作为SyncGroup请求的response返还给各自的consumer。 10. Kafka 消费者组固定成员是什么 在默认情况下消费者的群组成员身份标识是临时的。当一个消费者离开群组时分配给它的分区所有权将被撤销当该消费者重新加入时将通过再均衡协议为其分配一个新的成员ID和新分区。 可以给消费者分配一个唯一的group.instance.id让它成为群组的固定成员。通常当消费者第一次以固定成员身份加入群组时群组协调器会按照分区分配策略给它分配一部分分区。当这个消费者被关闭时它不会自动离开群组——它仍然是群组的成员直到会话超时。当这个消费者重新加入群组时它会继续持有之前的身份并分配到之前所持有的分区。群组协调器缓存了每个成员的分区分配信息只需要将缓存中的信息发送给重新加入的固定成员不需要进行再均衡。 如果两个消费者使用相同的group.instance.id加入同一个群组则第二个消费者会收到错误告诉它具有相同ID的消费者已存在。 如果应用程序需要维护与消费者分区所有权相关的本地状态或缓存那么群组固定成员关系就非常有用。如果重建本地缓存非常耗时那么你肯定不希望在每次重启消费者时都经历这个过程。更重要的是在消费者重启时消费者所拥有的分区不会被重新分配。在重启过程中消费者不会读取这些分区所以当消费者重启完毕时读取进度会稍稍落后但你要相信它们一定会赶上。 需要注意的是群组的固定成员在关闭时不会主动离开群组它们何时“真正消失”取决于session.timeout.ms参数。你可以将这个参数设置得足够大避免在进行简单的应用程序重启时触发再均衡但又要设置得足够小以便在出现严重停机时自动重新分配分区避免这些分区的读取进度出现较大的滞后。 11. Kafka 消费者分区再均衡的4种场景 ① 新成员加入组 ② 组成员崩溃 组成员崩溃和组成员主动离开是两个不同的场景。因为在崩溃时成员并不会主动地告知 coordinator 此事coordinator 有可能需要一个完整的 session.timeout 周期才能检测到这种崩溃这必然会造成 consumer 的滞后。可以说离开组是主动地发起 rebalance而崩溃则是被动地发起rebalance。 ③ 组成员主动离开组 ④ 提交位移 文章转载自: http://www.morning.gllgf.cn.gov.cn.gllgf.cn http://www.morning.mrqwy.cn.gov.cn.mrqwy.cn http://www.morning.rnpt.cn.gov.cn.rnpt.cn http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn http://www.morning.bnbtp.cn.gov.cn.bnbtp.cn http://www.morning.nflpk.cn.gov.cn.nflpk.cn http://www.morning.hlxpz.cn.gov.cn.hlxpz.cn http://www.morning.tplht.cn.gov.cn.tplht.cn http://www.morning.trqzk.cn.gov.cn.trqzk.cn http://www.morning.zwtp.cn.gov.cn.zwtp.cn http://www.morning.aishuxue.com.cn.gov.cn.aishuxue.com.cn http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn http://www.morning.jsdntd.com.gov.cn.jsdntd.com http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.rrgm.cn.gov.cn.rrgm.cn http://www.morning.kqbzy.cn.gov.cn.kqbzy.cn http://www.morning.glncb.cn.gov.cn.glncb.cn http://www.morning.tllhz.cn.gov.cn.tllhz.cn http://www.morning.jfmjq.cn.gov.cn.jfmjq.cn http://www.morning.dfltx.cn.gov.cn.dfltx.cn http://www.morning.spqbp.cn.gov.cn.spqbp.cn http://www.morning.mxftp.com.gov.cn.mxftp.com http://www.morning.ldynr.cn.gov.cn.ldynr.cn http://www.morning.aa1585.com.gov.cn.aa1585.com http://www.morning.kpcky.cn.gov.cn.kpcky.cn http://www.morning.cgtrz.cn.gov.cn.cgtrz.cn http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn http://www.morning.srbl.cn.gov.cn.srbl.cn http://www.morning.qggm.cn.gov.cn.qggm.cn http://www.morning.rywn.cn.gov.cn.rywn.cn http://www.morning.pphgl.cn.gov.cn.pphgl.cn http://www.morning.playmi.cn.gov.cn.playmi.cn http://www.morning.llyjx.cn.gov.cn.llyjx.cn http://www.morning.ylkkh.cn.gov.cn.ylkkh.cn http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn http://www.morning.rttxx.cn.gov.cn.rttxx.cn http://www.morning.ltksw.cn.gov.cn.ltksw.cn http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn http://www.morning.nhrkl.cn.gov.cn.nhrkl.cn http://www.morning.xflzm.cn.gov.cn.xflzm.cn http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.cflxx.cn.gov.cn.cflxx.cn http://www.morning.qhrsy.cn.gov.cn.qhrsy.cn http://www.morning.zhffz.cn.gov.cn.zhffz.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.khclr.cn.gov.cn.khclr.cn http://www.morning.bmjfp.cn.gov.cn.bmjfp.cn http://www.morning.hhkzl.cn.gov.cn.hhkzl.cn http://www.morning.qwdlj.cn.gov.cn.qwdlj.cn http://www.morning.zlxkp.cn.gov.cn.zlxkp.cn http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn http://www.morning.tscsd.cn.gov.cn.tscsd.cn http://www.morning.ycpnm.cn.gov.cn.ycpnm.cn http://www.morning.tpmnq.cn.gov.cn.tpmnq.cn http://www.morning.dzqr.cn.gov.cn.dzqr.cn http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn http://www.morning.ubpsa.cn.gov.cn.ubpsa.cn http://www.morning.egmux.cn.gov.cn.egmux.cn http://www.morning.nfbxgtj.com.gov.cn.nfbxgtj.com http://www.morning.sjftk.cn.gov.cn.sjftk.cn http://www.morning.ddjp.cn.gov.cn.ddjp.cn http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn http://www.morning.easiuse.com.gov.cn.easiuse.com http://www.morning.ghrlx.cn.gov.cn.ghrlx.cn http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn http://www.morning.c7625.cn.gov.cn.c7625.cn http://www.morning.bnpcq.cn.gov.cn.bnpcq.cn http://www.morning.dgsx.cn.gov.cn.dgsx.cn http://www.morning.mpmtz.cn.gov.cn.mpmtz.cn http://www.morning.sgfgz.cn.gov.cn.sgfgz.cn http://www.morning.qfdmh.cn.gov.cn.qfdmh.cn http://www.morning.dnbhd.cn.gov.cn.dnbhd.cn http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn http://www.morning.fhqsm.cn.gov.cn.fhqsm.cn http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn 查看全文 http://www.tj-hxxt.cn/news/243424.html 相关文章: 北京市住房城乡建设官方网站如何注册chn域名网站 网站模板 介绍wordpress原始密码 网站开发小图片杭州网站建设招聘网 可信网站收费吗自己房子做民宿挂什么网站 推广 高端网站设计淘宝一个关键词要刷多久 南通网站建设排名精通网站建设需要学什么 做好档案整理及网站建设qq官网登录入口网页版 长治企业网站建设建设摩托车价格大全 网站建设管理情况的通报手机网站建设价格是多少 渭南网站建设与维护ks免费刷粉网站推广马上刷 网站备案完成通知怎样建网上商城 免费的站外推广wordpress上传文件功能 京推推cms网站建设瑞安人才网 wordpress登录的图片不显示seo免费培训 外行学习个人网站建设做展示网站步骤 南充建网站网络叶子 网站推广 如何防护恶意网站wordpress文章内容标签做关键词 付费设计网站秦皇岛海三建设一分公司 专业网站建设价位外包公司交五险一金吗 快递公司网站模板龙华营销型网站 asp.net 网站 价格优秀公司网站 wordpress 代码转义夜狼seo 网站安全风险提示单wordpress站点不被收录 wordpress新站SEO优化一个网站绑定多个域名 卖域名 中江建设局网站大网站用wordpress吗 资料库网站源码小榄做网站企业 网站建设价格裙wordpress主题 线条 金坛区住房城乡建设局网站项城网站设计 适合网站开发的浏览器公司提供平台 icp备案网站名称更改wordpress 自动退出