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

爱网站找不到了网站模板设计举例

爱网站找不到了,网站模板设计举例,智能产品开发,网站开发公司创业策划目录 1 分区2 消费者3 Kafka 如何保证消息的消费顺序#xff1f;3.1 方案一3.2 方案二 4 消息积压 在项目中使用kafka作为消息队列#xff0c;核心工作是创建生产者—包装数据#xff1b;创建消费者----包装数据。 欠缺一些思考#xff0c;特此梳理项目中使用kafka遇到的一… 目录 1 分区2 消费者3 Kafka 如何保证消息的消费顺序3.1 方案一3.2 方案二 4 消息积压 在项目中使用kafka作为消息队列核心工作是创建生产者—包装数据创建消费者----包装数据。 欠缺一些思考特此梳理项目中使用kafka遇到的一些问题和解决方案 1 分区 参考博文点击链接 分区主题可以被分为若干个分区partition同一个主题中的分区可以不在一个机器上有可能会部署在多个机器上由此来实现 kafka 的伸缩性单一主题中的分区有序但是无法保证主题中所有的分区有序 示例假设有一个主题TopicA有三个分区Partition 0、Partition 1、Partition 2。如果生产者产生了5条消息该如何分配 这就涉及到了kafka的分区机制了 kafka 的分区策略指的就是将生产者发送到哪个分区的算法。Kafka 为我们提供了默认的分区策略同时它也支持你自定义分区策略。 分区策略有 顺序轮询 下面示例介绍随机轮询 Kafka中消息的分配到分区的过程是由分区器Partitioner来负责的。默认情况下Kafka使用的是轮询分区策略也就是说生产者产生的消息会依次被分配到不同的分区以此循环。 假设有一个主题TopicA有三个分区Partition 0、Partition 1、Partition 2。如果生产者产生了5条消息这些消息会被轮询地分配到这三个分区中直到所有消息都被发送。分配的过程如下 第1条消息分配到 Partition 0 第2条消息分配到 Partition 1 第3条消息分配到 Partition 2 第4条消息再次分配到 Partition 0 第5条消息再次分配到 Partition 1 这样的分配方式保证了各个分区的负载均衡。总体而言如果有足够的消息量这些消息会在各个分区之间均匀分布从而实现了平均分配的效果。 需要注意的是分区策略是可以配置的你可以自定义分区器来实现不同的分配策略但默认情况下轮询分区是常见的方式。 2 消费者 消费组 消费数据的时候都必须指定一个group id指定一个组的id假定程序A和程序B指定的group id号一样那么两个程序就属于同一个消费组。 特殊: 比如有一个主题topicA程序A去消费了这个topicA那么程序B就不能再去消费topicA程序A和程序B属于一个消费组再比如程序A已经消费了topicA里面的数据现在还是重新再次消费topicA的数据是不可以的但是重新指定一个group id号以后可以消费。不同消费组之间没有影响消费组需自定义消费者名称程序自动生成独一无二。 此时有两个消费者三个分区该如何分配呢 在 Kafka 中一个消费者组Consumer Group可以由多个消费者组成。当消费者组订阅一个主题Topic时Kafka 会自动将主题的分区分配给消费者组中的消费者。 对于一个消费者组中的多个消费者它们不需要手动指定分区。Kafka 使用一种分区分配策略来确保每个分区只被一个消费者消费。默认情况下Kafka 使用的是范围分配Range Assignment策略。 在范围分配策略下每个消费者被分配一定范围的分区。例如有一个主题有三个分区Partition 0、Partition 1、Partition 2消费者组中有两个消费者Consumer A 和 Consumer B分配可能如下 Consumer A 被分配 Partition 0 和 Partition 1 Consumer B 被分配 Partition 2 这种自动的分区分配机制使得消费者组能够 并行 地处理消息提高整体的消费吞吐量。 需要注意的是如果消费者组中的消费者数量发生变化分区的分配会动态调整以适应新的消费者数量而无需手动干预。 Kafka会在有新的消费者加入或者有消费者退出时自动重新平衡分区。这种自动的分区调整机制是 Kafka 提供的一项强大的功能能够使得整个系统更加灵活和容错。 3 Kafka 如何保证消息的消费顺序 消费后会提交偏移量 示例生产者提供了5条消息暂且按照上述方式分配消息。当消费者组 消费的时候会出现这种情况 0:01时刻 张三消费c并提交offset 李四消费b并提交offset 重新动态匹配 消费者和分区这里暂且忽略 0:02时刻 张三消费a并提交offset 李四消费e并提交offset 此时消费的顺序是 c,b----a,e 期待的消费顺序是a–b—c—d----e 因此是乱序的需要重新设计方案解决 3.1 方案一 若是只有一个分区这样就可以保证消费顺序了a–b—c—d----e 3.2 方案二 指定消息全存在某一个分区 如何指定 Kafka 中发送 1 条消息的时候可以指定 topic, partition, key,data数据 4 个参数。如果你发送消息的时候指定了 Partition 的话所有消息都会被发送到指定的 Partition。并且同一个 key 的消息可以保证只发送到同一个 partition这个我们可以采用表/对象的 id 来作为 key 。 Topic 指定消息要发送到的主题。Partition 指定消息要发送到的分区。如果指定了分区那么所有的消息都会被发送到这个分区。Key 通常用于确定消息应该被发送到哪个分区。如果你使用相同的 keyKafka 会根据 key 使用分区器Partitioner将具有相同 key 的- 消息发送到同一个分区。Value 实际的消息内容。 Key是用于计算消息应该被分配到哪个分区的依据而Partition是直接指定分区 4 消息积压 4.1 方案一 场景描述 Kafka 主题orders2个分区初始状态有一个消费者组Consumer Group中有一个消费者实例Consumer Instance用于处理订单消息。积压情况由于订单数量激增导致 orders 主题中的消息积压。 增加消费者 以前消息被分发到2个分区但是只有一个消费者消费其中一个分区另外一个暂时搁置多创建一个消费者提高使用率。 这里有个细节项目执行后唯一的线程main线程----消费分区1无法做到同时控制另外一个消费者去消费分区2。看似消费者多了实际效率没变化。只能增加线程 增加线程 一个消费者占一个线程这样项目启动2个线程控制2个消费者kafka负载均衡自动分配一个消费者消费一个分区提高了效率 异步消费 (并不能处理消息积压 在系统中主线程调用 某个方法后这个方法先返回数据给主主继续执行自己的逻辑。而这个方法是异步的所以他可以在后台创建线程和消费者不会造成系统阻塞。
http://www.sadfv.cn/news/380515/

相关文章:

  • 摄影照片投稿网站红古微信网站建设
  • 网站建设明细报价表仅供参考政务网站建设规范
  • 山西钢铁建设集团有限公司网站昆网站在哪里
  • 沈阳做网站有名公司麻花视频2020
  • 大型网站开发的书有了域名与服务器怎么建网站
  • 做外贸一般看什么网站中文网页开发工具
  • 网站开发与设计实训实训报告seo 优化教程
  • 做网站市场分析网站项目规划与设计方案
  • 网站可以做多语言的吗百度写一篇文章多少钱
  • 汕头论坛建站模板高级感ppt模板
  • 怎么给自己制作一个网站软件定制开发公司发展前景
  • 成华区微信网站建设公免费网站app软件
  • 个人网站网址有哪些做淘宝那样的网站麻烦吗
  • 做外贸怎么进入国外的网站制作企业网站的新闻
  • 蚌埠网站制作哪里有html成品网页模板下载
  • 建设网站第一步产品设计培训机构排名
  • php网站有点小榄公司网站建设
  • app 网站开发公司电话广州网站建设哪家便宜
  • 企业网站经典案例南宁网站建设
  • 网站建设案例的公司一级A视网站 一级做爰片
  • 网站后台传图片网站建设的培训的感受
  • 丰台网站建设多少钱西安做网站的公司有
  • 固始县住房和城乡规划建设局网站做网站的企业有哪些
  • 游网站建设方案内容做模块高考题的网站
  • 美食网站开发基于dw的动物网站设计论文
  • 柳州网络网站建设wordpress主题对比
  • 网站运行及维护搜索引擎哪个最好用
  • 好的免费个人网站杭州seo相关网站
  • 免费企业网站模板 php怎么注册公司微信号
  • 海拉尔网站建设+网站设计网站模板源文件