一、 RabbitMQ的五种工作场景:

1、 单发单收

2、 单发送多接收

+++++++++++++++++++++前面两种没有使用exchange++++++++++++++++++

3、 Publish/Subscribe(广播)--ExchangeType:fanout

使用场景:发布、订阅模式,发送端发送广播消息,多个接收端接收。

4、 Routing(按路线发送接收)--ExchangeType:direct

  使用场景:发送端按routingKey发送消息,不同的接收端按不同的routingKey接收消息。

5、Topics(按topic发动接受)--ExchangeType:topic

使用场景:发送端不只按固定的routingKey发送消息,而是按照字符串“匹配”发送,接收端同样如此。

二、RabbitMQ的Reliablity(可靠性)特性

1、 持久化--persistence

2、 发送ack确认---delivery acknowledgements

3、 广播确认---publisher confirms

4、高可用性--HA

(1)集群

(2)镜像队列

三、 解决问题

使用背景:

1、异步调用

2、多节点

3、消息队列

未加入MQ下发流程:

1、 云平下发配置1,LB将此任务提交给AFC1处理

2、AFC1将任务提交给本地的阻塞队列,然后保存DB

3、消费者从阻塞队列中取配置任务,进行配置下发

弊端:

1、 无法共享队列,局部保证时序。

1、 如何保证配置任务在rabbitmq中保存时不丢失?

配置镜像队列侧略

2、 当rabbitMq宕机重启时,如何处理之前的connection连接?

设置自动恢复连接,确保重启时,NODE能和rabbitmq通过原有的connection进行通信

3、 出现分裂情况怎么处理

配置了pause_monirity策略:(RabbitMQ处理网络分区的策略),另外 两种是 pause-if-all-down模式和autoheal模式。

MQ会自动检测其自身是否处于“少数派”,MQ会自动关闭这些节点的运作,当分区结束时又会启动。

4、 protobuf序列化

5、 ack及持久化的消息模式保证消息的可靠性。

gRPC

使用背景:

1、

转载于:https://www.cnblogs.com/snowwhite/p/9432888.html

RabbitMQ基础--总结相关推荐

  1. java B2B2C Springcloud电子商务平台源码-RabbitMQ基础概念...

    RabbitMQ是一个由erlang开发的AMQP的开源实现. 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 AMQP,即Adva ...

  2. RabbitMQ基础知识详解

    RabbitMQ基础知识详解 2017年08月28日 20:42:57 dreamchasering 阅读数:41890 标签: RabbitMQ 什么是MQ? MQ全称为Message Queue, ...

  3. Rabbitmq 基础

    Rabbitmq基础 1 MQ 基本概念 1.1 MQ概述 MQ全称Message Queue,是在消息的传输过程中保存消息的容器,多用于分布式系统之间进行通信. 分布式系统通信两种方式:直接远程调用 ...

  4. Ruby使用RabbitMQ(基础)

    Ruby使用RabbitMQ(基础) RabbitMQ documentation rabbitmq-tutorials rabbitmq-configure bunny 前提 最近刚刚接触到mq, ...

  5. rabbitmq基础1——消息中间件概念、Rabbitmq的发展起源和基本组件的作用流程

    文章目录 一.消息中间件 1.1 概念 1.2 作用 1.2.1 消息队列持久化 1.2.2 消息队列分发策略 1.2.3 消息队列的高可用和高可靠 1.2.3.1 一主多从共享集群 1.2.3.2 ...

  6. rabbitmq基础2——rabbitmq二进制安装和docker安装、基础命令

    文章目录 一.RabbitMQ安装 1.1 二进制安装 1.2 rabbitmqctl工具 1.3 docker安装 二.rabbitmq基础命令 2.1 多租户与权限类 2.1.1 创建虚拟主机 2 ...

  7. (2)RabbitMQ基础概念及工作流程详解

    上一节中我们对MQ做了一个概要介绍,这一节开始我们选取RabbitMQ开始进行学习,本节将会RabbitMQ做个简单介绍,并且会对其常见的基础概念做个讲解,最后会简单介绍一下RabbitMQ的工作流程 ...

  8. RabbitMQ基础知识介绍、RabbitMQ的安装

    RabbitMQ基础知识介绍 官方解释:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过                   读写出入队列的消息 ...

  9. 转 RabbitMQ 基础概念及 Spring 的配置和使用 推荐好文 举例讲解

    从不知道到了解-RabbitMQ 基础概念及 Spring 的配置和使用 转: sumile.cn  »  从不知道到了解-RabbitMQ 基础概念及 Spring 的配置和使用 序言 你在系统中是 ...

  10. RabbitMQ基础概念详细介绍

    转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼. ...

最新文章

  1. java中单例设计模式
  2. java String format占位符
  3. WaitForSingleObject的用法详细介绍
  4. python服务器搭建ftp_Python搭建HTTP服务器和FTP服务器
  5. 一个html文档的文件主题,HTML清单
  6. Linux sed 删除行命令常见使用详解
  7. Python获取代理IP地址
  8. 机器学习:维度灾难(Curse of Dimensionality)
  9. android 修改listview item view 的方法
  10. 2018 ideal 链接数据_利用 IDEA HTTP 请求文件访问 API 接口
  11. mac下安装和使用brew
  12. 老农斗杀巨型蜈蚣目击记
  13. 基于HTML5的在线绘图工具,基于HTML5 Canvas和jQuery 的绘图工具的实现
  14. Latex改变页边距
  15. 欧洲城市之最:伦敦被评为欧洲最脏城市 巴黎最不友善
  16. Java中使用redis的完整实例及常用命令
  17. 程序员兼职可以从什么平台接私活?
  18. Scanner输入带空格的字符串
  19. howlerjs 音乐播放插件
  20. oracle 内存错误的是什么意思,java - 是什么导致此JMS错误连接到OracleAQ? - 堆栈内存溢出...

热门文章

  1. 在ntpdate同步时间的时候出现“the NTP socket is in use, exiting”
  2. oracle 10g在线重定义新特性——关联对象自动重命名(二)
  3. 虚拟机Windows 2003忘记密码怎么办
  4. Mongodb db.serverStatus()所关心的几个输出值
  5. EXCHANGE 2003 恢复存储组的使用
  6. 表单元素内容禁用拼写检查
  7. [最小生成树] 继续畅通工程
  8. Redis 学习之事务处理
  9. C# 如何设置 richTextBoxr的边距
  10. JQuery Form AjaxSubmit(options)在Asp.net中的应用注意事项