• RabbitMQ消息如何100%投递成功(六)


    消息如何保障100%的投递成功?

      什么是生产端的可靠性投递?

        保障消息的成功发出

        保障MQ节点的成功接收

        发送端收到MQ节点(Broker)确认应答

        完善的消息进行补偿机制(如网络问题没有返回确认应答)

      生产端的可靠性投递(一)

        BAT/TMD互联网大厂的解决方案:(根据业务和并发量来选择)

          消息落库,对消息状态进行打标(进行变更消息状态)

          消息的延迟投递,做二次确认,回调检查

            第一步进行数据的落库存储(持久化成功)保存状态,第二步发送消息,Broker收到消息,

            第三步将受到的结果应答给生产端,生产端异步监听消费者返回的响应,

            数据刷去出来更新消息的状态,表示消息百分百成功

            发送应答如果网络闪断的话,消息状态永远是初始状态,

            设置规定,分布式任务用来保证同一个时间点抓取消息,消息超时之后还是初始状态,

            将消息抽取出来,继续投递。

      

      生产端可靠性投递(二):

        保障MQ如果第一种可靠性投递,在高并发场景下是否合适?

        消息的延迟投递,做二次确认,回调检查

        先持久化数据在发送消息

  • 相关阅读:
    C++ vector的用法
    flash Timer类使用
    Reactive native 项目创建失败如何处理
    React中的Statics对象
    web pack的使用事项
    Unable to resolve module LinkedStateMixin
    React Native学习笔记-1:JSC profiler is not supported.(转载)
    无意间发现我的博客园的年龄有11年了
    Jigloo 下载 安装 GUI
    Linux应用开发入门(转)
  • 原文地址:https://www.cnblogs.com/luhan777/p/11168655.html
Copyright © 2020-2023  润新知