官网: https://www.rabbitmq.com/getstarted.html

1.四种交换机

TODO...

2.消费者获取消息方式:推 和 拉

拉取:每次拉取一条,循环拉取需要的条数在批处理;

3.集群模式:普通模式和镜像模式

镜像模式,消息广播流程如下:

()Master 节点发出消息,顺着镜像队列循环列表发送;

()所有 Slave 节点收到消息会对消息进行缓存(Slave 节点缓存消息用于在广播过程中,有节点失效或者新增节点,这样左侧节点感知变化后会重新将消息推送给右侧节点);

()当 Master 节点收到自己发送的消息后意味着所有节点都收到了消息,会再次广播 Ack 消息;

()Ack 消息同样会顺着循环列表经过所有 Slave 节点,通知 Slave 节点可以清除缓存消息;

()当 Ack 消息回到 Master 节点,对应消息的广播结束。
————————————————

4.消息存在持久化

消息经过交换器进入队列就可以完成消息的持久化,但如果消息在没有到达broker之前出现意外,那就造成消息丢失

5.集群节点:内存节点和磁盘节点(持久化保存集群中的配置信息)

6.死信队列

()消息被拒绝(basic.reject 或者 basic.nack),并且requeue=false; 
()消息的过期时间到期了;
()队列长度限制超过了。

7.延迟队列

根据消息TTL或队列的TTL, 过期后通过死信转发器,路由到指定的队列

8.RPC模式

原理:2个队列,(互相订阅)Client通过一个队列推送给Server,Server将结果通过一个回调队列推送给Client,实现通信

9.高级特性

RabbitMQ高级特性-消息可靠性投递
RabbitMQ高级特性-幂等性保障
RabbitMQ高级特性-Confirm确认消息
RabbitMQ高级特性-Return消息机制
RabbitMQ高级特性-消费端自定义监听
RabbitMQ高级特性-消费端限流
RabbitMQ高级特性-消费端ACK与重回队列
RabbitMQ高级特性-TTL队列/消息
RabbitMQ高级特性-死信队列(DLX)

10.确认模式

发送方确认模式、消费房确认模式

11.消息的顺序性保证

推送端:(变动日志表,只记录该表变动的EID等简单信息)按表分组,再按操作,依次推增加、修改、删除记录
消费端:一个queue只对应一个consumer,一次只消费一条消息,手动确认模式

最新文章

  1. 帆软报表FineReport SQLServer数据库连接失败常见解决方案
  2. jquery+jplayer实现歌词同步的mp3音乐播放器效果
  3. MySql 首记
  4. cocos2d-x 资源路径研究
  5. Binary Tree Zigzag Level Order Traversal——LeetCode
  6. Windows 系统版本判断
  7. CodeFirst EF中导航属性的个人理解
  8. bash学习之环境变量
  9. 【转】C# String.Format数字格式化输出各种转换{0:N2} {0:D2} {0:C2}...
  10. C#委托与事件--后续补充
  11. python学习——读取染色体长度(六:读取含有染色体长度的文件)
  12. Zookeeper初始(一)
  13. window下载android 最新源码
  14. datepart in ssis
  15. A1099. Build A Binary Search Tree
  16. 从0开始搭建vue+webpack脚手架(二)
  17. 深入理解java虚拟机---对象的结构(九)
  18. 使用whiptail写linux字符界面ssh链接工具2.0
  19. oracle任务job
  20. linux-who

热门文章

  1. 利用window.open如何绕过浏览器拦截机制
  2. USACO 2009 Open 干草塔 Tower of Hay
  3. 推荐一款阿里开源的 Java 诊断工具,好用到爆!
  4. 刷题记录:[网鼎杯]Fakebook
  5. Server 2003 操作系统位数
  6. Redis的常用JavaAPI(Jedis)实现
  7. 每天有300W的pv,我们单台机器的QPS为58,大概需要部署几台这样机器?
  8. 【mybatis源码学习】mybatis的sql语句映射
  9. Python使用偏函数与类实现装饰器
  10. docker安装并运行ngnix