消息中间件-rocketmq 如何保证服务的稳定性

消息中间件-rocketmq 如何保证服务的稳定性

对于一个消息中间件来说,无非从三个方面去看它的稳定性

  1. 消息投递
  2. 消息存储
  3. 消息消费

首先对于消息投递来说, rocketmq内部是有消息的重试机制,在一定重试次数和超时时间内 都可以进行重试。当然如果内部的重试还不能解决问题,就需要我们业务上来进行手动重试, 比如将消息先写入数据库,给定一个状态,当消息投递成功后,修改状态等。。。

其次对于消息存储来说, rocketmq采用等是主从模式, 可以设置 master +多个slave 来保证高可用, 数据刷盘有两种模式 一个是 异步复制, 这种方式没办法保证实时同步, 但是不会阻塞。另一个是同步双写, 同时写master和slave 这样虽然耗费更多时间,但是能保证 更快的同步消息,当有至少一个slave 返回确认的ack之后, 就会返回消息投递成功给客户端, 当然master 也是可以 部署多个 保证服务

最后 消息消费,rocketmq采取的是 至少消费一次的规则, 也就是必须手动的提交才会认为这条消息消费成功,当然在业务上我们也需要保证消费的幂等性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值