• RocketMq


    消息队列

    消息队列:先进先出的一种数据结构

    功能:应用解耦、流量消峰(利用消息队列,将请求暂存请求,分散到相对较长的一段时间处理)、消息分发(一个消息可以有多个需求方)

    RocketMQ

    第一代Notify:推模式

    第二代:拉模型

    RockettMQ:长轮询的拉取方式

    结构(各部分角色)

    1. Producer:发信者

    2. Consumer:收信者

    3. Broker:负责暂存、传输的邮局。有两种odgaMaster支持读和写,Slave只支持读

    4. NameServer:协调各方邮局的管理机构

     

    消息存储

    由Consumer Queue和CommitLog配合完成。

     

    持久化

    当消息通过Producer写入RockerMQ时,有两种写磁盘方式

    1. 异步刷盘:返回写成功时,只是写入内存。等内存的消息量达到一定程度时,统一触发写

    2. 同步刷盘:返回写成功时,消息已经同步写入磁盘。

    业务场景

    顺序消息

    场景:保证同一个订单的消息顺序为生成、付款、发货。

    1. 发送端:同一个业务ID的消息发送到同一个Message Queue。

    2. 消费端:同一个Consumer Queue的消息不被并发处理

    消息重复

    需要使用方自己保证

    方式一:消费逻辑的幂等性

    方式二:维护一个记录,在消费前先查询是否已经消费过

  • 相关阅读:
    Python openpyxl的使用
    Python字典的遍历
    Python3元组的简介和遍历
    tableau绘制饼图
    tableau创建点位地图
    tableau绘制热力地图
    select下拉框分组使用bootstrap select
    css设置div中table水平居中
    sql server的分组排序partition by函数
    document.ready
  • 原文地址:https://www.cnblogs.com/coolqiyu/p/16391931.html
Copyright © 2020-2023  润新知