阿里架构师有话说:超详细MQ配置及实施方案请务必学会!

本文介绍了如何确保基于MQ的消息不丢失,提供了一种基于消息的分布式事务解决方案,强调了MQ的配置建议,如主从同步策略和刷盘策略。生产者设计包括消息持久化和补偿任务设计,而消费者设计则注重幂等性和消息对账。文章还讨论了历史数据的清理策略。
摘要由CSDN通过智能技术生成

1. 前言

在与不同业务系统之间进行交互时,怎么保证发送的消息对方一定能收到,可能有人说RocketMQ就能做到,如果贵公司用到的消息队列是kafka、rabbitmq、activemq怎么保证不丢?

这里分享一下基于消息的分布式事务解决方案,此种方案是最终一致性的解决方案,不挑MQ,但是前提MQ本身要支持接收到的消息不能丢失。

2. MQ的配置建议

如果要保证MQ接收到的消息不丢,就要配置相关的同步策略或者刷盘策略

主从同步策略

建议主从同步建议设置为主从同步策略为主从同步完再响应,这样单个节点如果挂了,另一个节点的数据还会存在

刷盘策略

消息中间件为了提高效率,默认接收到消息不会立即刷盘,如果要主从同步策略是主节点接收到消息以后立即响应,这会正好主节点宕机,就会导致消息丢失,所以要特别注意下,虽然可以设置成同步刷盘,但是效率就会降低,所以还是建议设置主从同步策略

3. 生产方设计

生产者的职责是必须要保证本地事务提交成功消息一定要发送出去,或者业务处理失败就不发送。

3.1 消息持久化

生产方方案如下,首先需要在业务库中创建一张表,字段大致为:

  • 消息id
  • 业务id
  • 业务
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值