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

做网站推广一般多少钱莱州市网站

做网站推广一般多少钱,莱州市网站,网站 seo优化,医疗网站的建设主要竞争对手RocketMQ 的顺序消息实现原理主要围绕生产者发送顺序性、Broker存储顺序性和消费者消费顺序性三个核心环节展开,具体分为全局有序和分区有序两种模式。 一、顺序消息的分类 1. 全局有序 定义:某个Topic下所有消息严格按FIFO顺序处理。实现:…

RocketMQ 的顺序消息实现原理主要围绕生产者发送顺序性Broker存储顺序性消费者消费顺序性三个核心环节展开,具体分为全局有序分区有序两种模式。


一、顺序消息的分类

1. 全局有序
  • 定义:某个Topic下所有消息严格按FIFO顺序处理。
  • 实现:Topic仅配置一个MessageQueue,生产者单线程同步发送,消费者单线程消费。
  • 局限:吞吐量低,仅适用于低并发场景(如金融对账)。
2. 分区有序(局部有序)

  • 定义:同一业务分组(如相同订单ID)的消息保证顺序,不同分组可并行处理。
  • 实现:通过ShardingKey(如订单ID)将消息路由到同一队列,消费者单线程消费该队列。
  • 优势:兼顾顺序性与吞吐量,是生产环境主流方案。

二、关键技术实现

1. 生产者端:顺序发送
  • 同步发送:必须使用同步发送(send()),避免异步发送因线程调度导致乱序。
  • 队列选择器:通过MessageQueueSelector,根据ShardingKey哈希选择固定队列。
producer.send(msg, (mqs, msg, arg) -> {int index = Math.abs(arg.hashCode()) % mqs.size();return mqs.get(index); // 相同ShardingKey映射到同一队列
}, orderId);
2. Broker端:顺序存储
  • CommitLog顺序写入:消息按到达顺序追加到CommitLog文件,保证存储顺序。
  • 队列分配:相同ShardingKey的消息写入同一ConsumeQueue,利用队列FIFO特性保证顺序。
  • 锁机制:
    分布式锁:防止多个消费者并发消费同一队列。
    本地锁:确保单线程处理同一队列消息。

3. 消费者端:顺序消费
  • MessageListenerOrderly:注册该监听器,RocketMQ自动保证同一队列消息串行消费。
consumer.registerMessageListener(new MessageListenerOrderly() {@Overridepublic ConsumeOrderlyStatus consumeMessage(List<MessageExt> msgs, ConsumeOrderlyContext context) {// 单线程处理逻辑return ConsumeOrderlyStatus.SUCCESS;}
});
  • 重试策略:消费失败时默认无限重试,需业务侧实现幂等性。

三、典型应用场景

  1. 订单流程:创建→支付→完成,需严格保证时序。
  2. 库存扣减:避免超卖或库存错误。
  3. 事件溯源:如MySQL Binlog同步,需按事件发生顺序处理。

四、注意事项

  1. 性能权衡:顺序消息会降低吞吐量,需根据业务需求选择全局或分区有序。
  2. 异常处理:消费失败可能导致队列阻塞,需设置合理重试策略或异步处理。
  3. 动态扩容:Broker队列数量变化时,需重新评估分片策略。

通过上述机制,RocketMQ在分布式环境下高效实现了消息顺序性,适用于高并发且需严格时序控制的业务场景。


文章转载自:

http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://00000000.nrrzw.cn
http://www.dtcms.com/wzjs/619878.html

相关文章:

  • 网站建设合同浩森宇特东平县住房和城乡建设局网站
  • 舟山高端网站建设中企动力网站模板
  • 网站关键字排名怎么做重庆市教育考试院门户网站
  • iis7如何部署网站西安网站制作工程师
  • 网站加载等待wordpress泛域名解析
  • 荆门做网站公司有什么网站可以做免费推广
  • 网站的建立步骤移动商城积分怎么用
  • 网站设计开户东莞佳诚网站建设有限公司
  • php网站制作报价网站后台的制作
  • 深圳 教育集团网站建设现在做一个app大概多少钱
  • 如何弄一个自己的网站天眼查入口
  • 仿腾讯网站源码做网站推广优化哪家好
  • 网站搭建的流程定制开发app的设计流程
  • 巴南网站制作开发一个app平台大概需要多少钱?
  • 做网站只做前端可以用吗安卓市场应用下载
  • example邮箱注册网站网站右侧固定标题怎么做
  • 澄海区建设局网站discuz 转wordpress
  • 人们做网站怎么赚钱三种人不适合做程序员
  • 教做美食的视频网站成都微网站
  • 新郑做网站优化爬虫wordpress
  • 瓯海网站建设如何分析网站的设计
  • 如何利用织梦cms做企业网站商城网站平台怎么做的
  • 羽毛球赛事编排seo的作用有哪些
  • 网站下载的网页修改下面版权所有店铺设计包含哪些内容
  • 网站后期运营方案步骤个人网站建设视频教学
  • 建一个网站需要做什么的网站做外链什么意思
  • 网站建设维护公司国外网站开发现状
  • 做网站都需要年服务费吗网站不备案可以吗
  • 海山免费网站建设电商类公司网站应该怎么搭建
  • 好的公司网站有什么用怎么做网站赚钱放广告