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

做断桥铝门窗网站孔宇seo

做断桥铝门窗网站,孔宇seo,怀柔广州网站建设,35互联做的网站如何如何保证消息只被消费一次 目录消息丢失出现在哪些情况?如何解决消息重复消费误区 目录 如何保证消息只被消费一次? 首先需要保证消息不被丢失,消息丢失的原因? 消息丢失出现在哪些情况? 1.生产者将消息发送到消息队…

如何保证消息只被消费一次

  • 目录
    • 消息丢失出现在哪些情况?
    • 如何解决消息重复消费
    • 误区

目录

如何保证消息只被消费一次?
首先需要保证消息不被丢失,消息丢失的原因?

消息丢失出现在哪些情况?

1.生产者将消息发送到消息队列这一过程:由于网络抖动导致消息丢失,可以通过有限次数的重传来解决,这里就有可能产生重复消息,同时通过确认机制来告知生产者消息已经到达消息队列;
2. 消息到达消息队列后将消息持久化到磁盘的过程:这里持久化方式可以采用同步和异步方式进行刷盘,如果采用的是异步方式,消息队列宕机,就可能导致消息还未刷新的磁盘,从而出现消息丢失;集群情况下,也可以由于消息还未同步到从节点而主节点宕机导致消息丢失;所以建议使用同步方式刷盘。
3.消费者拉取到消息队列里面的消息过程:消费者拉取到消息后给了客户端反馈,但还未处理完就宕机也可能导致消息丢失,此时可以通过手动确认,也就是消费者处理完业务后手动发送确认来保证消息可靠。

如何解决消息重复消费

从上面分析可以看出,为了保证消息一定能被消费者消费,采用了重传和确认来实现,所以就会出现消息重复消费的现象。如何解决呢?通过一个记录表,流程如下:
解决消息重复消费流程
其中的记录表可以使用redis来实现,但同时就会存在redis的一些问题。

误区

一开始我认为是通过rocketmq、rabbitmq中内置的一个messageId来实现,实际上不完全。
rocketmq有内置的msgId,但是它并不直接用于消息幂等性的实现,RocketMQ 中的每条消息都有一个唯一的 MessageId,它由消息存储的物理偏移量(offset)+ 时间戳组成的。
这个msgId是RocketMQ自动生成的,用于定位消息、追踪日志,但并不是一个可以跨消费者端幂等使用的全局唯一业务ID。msgId 是 RocketMQ 自动生成的,不是业务自定义的,它可能会在消息重试或重新发送时发生变化。 rocketmq可以在生产者发送消息时附带一个业务ID。

而rabbitmq中消息可以有message-id字段,需要生产者主动设置message-id。

所以如果要保证消息的幂等性,可以通过记录表(去重表)来判断当前的业务id是否存在,然后在消费端来实现幂等。

 参考资料:[1]: https://www.bilibili.com/video/BV1zVp1e3Ejn/?spm_id_from=333.337.search-card.all.click&vd_source=de349d448ecee694c04e5b2e7b5ed936[2]: GPT
http://www.dtcms.com/wzjs/254166.html

相关文章:

  • 苏州网站开发公司济南兴田德润地址行业数据统计网站
  • wordpress媒体插件河北电子商务seo
  • 购物网站 wordpress 英文模板seo优化招商
  • 开发app软件需要多少钱杭州seo价格
  • 百度站长资源平台深圳网络营销公司
  • 铜陵网站开发微信小程序开发详细步骤
  • 网站改进建议营业推广策略有哪些
  • 网站打开速度太慢seo文章推广
  • 网站建设 制作流量神器
  • 网站建设推广方案模版全国广告投放平台
  • 泰州网站制作企业百度推广服务
  • 用手机建立网站小红书sem是什么意思
  • 如何写网站建设实验结果分析如何推广品牌知名度
  • 富阳网站制作seo排名查询工具
  • 如何在社交网站上做视频推广常见的营销型网站
  • 常州网站建设麦策电商网络服务包括
  • 北京高端建设网站网店推广策划书
  • 广州专业网站制作哪家专业seo诊断书案例
  • 知名做网站app开发需要多少钱
  • 企业网站的建设与维护软文推广代理平台
  • 网建短信seo免费优化网站
  • 网站建设属于什么费用广告联盟怎么赚钱
  • 无代码开发原理网站关键词优化有用吗
  • 成都网站建设托管优化网站排名公司
  • 昆明餐饮网站建设seo主要做什么工作内容
  • 太原网站关键词排名seop
  • 不会写代码如何做网站精准数据营销方案
  • 电脑网站设计公司百度快照推广效果怎样
  • 推荐企业手机网站建设怎么恶意点击对手竞价
  • 网站建设 技术支持 阿里广告模板