一、 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、

RabbitMQ基础--总结的更多相关文章

  1. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  2. 转:RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. RabbitMQ基础知识详解

    什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中 ...

  4. RabbitMQ基础教程之基本使用篇

    RabbitMQ基础教程之基本使用篇 最近因为工作原因使用到RabbitMQ,之前也接触过其他的mq消息中间件,从实际使用感觉来看,却不太一样,正好趁着周末,可以好好看一下RabbitMQ的相关知识点 ...

  5. RabbitMq基础教程之基本概念

    RabbitMq基础教程之基本概念 RabbitMQ是一个消息队列,和Kafka以及阿里的ActiveMQ从属性来讲,干的都是一回事.消息队列的主要目的实现消息的生产者和消费者之间的解耦,支持多应用之 ...

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

    从不知道到了解—RabbitMQ 基础概念及 Spring 的配置和使用 原理同上 请求地址:http://localhost:8080/home?type=3&routing_key=myO ...

  7. RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例

    交换器(Exchange) 交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey, 按照交换类型Exchange ...

  8. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

  9. RabbitMQ基础教程之Spring&JavaConfig使用篇

    RabbitMQ基础教程之Spring使用篇 相关博文,推荐查看: RabbitMq基础教程之安装与测试 RabbitMq基础教程之基本概念 RabbitMQ基础教程之基本使用篇 RabbitMQ基础 ...

  10. RabbitMQ基础教程之使用进阶篇

    RabbitMQ基础教程之使用进阶篇 相关博文,推荐查看: RabbitMq基础教程之安装与测试 RabbitMq基础教程之基本概念 RabbitMQ基础教程之基本使用篇 I. 背景 前一篇基本使用篇 ...

随机推荐

  1. 对xaml的深入探究(补交作业)

    首先,下结论,看完那个外国老师的视频后,5%左右听懂了,分享给大家: 1.理解一下,xaml是特殊的xml,我们可以从代码语法看出,xaml中的打码很类似与html和xml的代码. 2.xaml.cs ...

  2. Nodejs连接数据库为何使用连接池

    问题一.nodejs既然是单线程运行,在连接数据库时为何要使用连接池呢? 问题二,redis服务端是单线程运行的,使用连接池到redis,服务端还是串行处理,有什么意义么? 这两个问题都涉及到单线程与 ...

  3. 在Mondrian Virtual OLAP Cube中观察星座模型多事实表度量值的聚合

    这样设置的Schema文件会怎么样呢?用Saiku预览一下. 如果这时候想同时引用两个项目进行计算就会出问题了.那么这种情况怎么解决? 参考网上一段实现思路 <VirtualCube name= ...

  4. MongoDB mongo.exe启动及闪退解决 转载

    转载自:http://blog.csdn.net/wyx_wx/article/details/76108662 启动: 进入MongoDB安装目录下的bin目录,启动mongod.exe 出现如图所 ...

  5. Rstudio常用快捷键 “原版+中文” 整理

  6. [BZOJ 5158][Tjoi2014]Alice and Bob

    传送门 \(\color{green}{solution}\) 贪心 /************************************************************** P ...

  7. 使用docker部署STF服务(CentOS环境)

    一.安装docker环境 更新软件 sudo yum update 执行安装 sudo yum install docker 查看docker镜像 sudo docker images 二.拉取相关镜 ...

  8. node 基础小结

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. 实验Complex

    #include<iostream> #include<cmath> using namespace std; class Complex { public: Complex ...

  10. ViewData与ViewBag的区别

    本文导读:在asp.net mvc程序设计中,传递数据常常会用到viewdata.viewbag.ViewData是一个字典集合,通过key值读取对应的value:ViewBag是动态类型,作用和Vi ...