zoukankan      html  css  js  c++  java
  • RabbitMQ之高级特性

    以订单为例:

    1.生产端的可靠性投递(100%发送消息成功)

        1.消息打标

          1.消息存入数据库---->状态为0

          2.消息发送到brock

          3.brock返回ack(网络可能会闪断)

          4.当接收到ack时------>修改消息状态为1

          5 兜底:定时去搜索状态为1的数据,重新发送到brock,直到数据库状态为1(也可以限制次数,超过次数设置为2)

        2.消息延迟发送

        1.消息落库

        2.发送第一条消息

        3.几分钟后发送第二条消息

        4.下游服务器监听消息,并进行处理

        5.下游服务器发送确定消息

        6.上下游之间中立服务器,监听是否有确定的消息,若存在信息则持久化存储数据

        7.收到第二条数据时,检查第一条数据是否成功,成功不做任何事情,若不成功则返回第一步重新发送

    2.消费端的可靠性投递(避免重复消费)

        1.通过消息的唯一id和数据库主键去重

  • 相关阅读:
    文本文件、二进制文件
    trunc()
    字符集、编码
    windows注册表:扫盲
    decode() & sign()
    移动前端工作的那些事前端制作之自适应制作篇
    css hack知识详解
    IE6兼容性大全
    JS正则匹配入门基础!
    [转载]Javascript中批量定义CSS样式 cssText属性
  • 原文地址:https://www.cnblogs.com/zyhzsq/p/13425564.html
Copyright © 2011-2022 走看看