RabbitMQ基础--总结
一、 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基础--总结相关推荐
- java B2B2C Springcloud电子商务平台源码-RabbitMQ基础概念...
RabbitMQ是一个由erlang开发的AMQP的开源实现. 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 AMQP,即Adva ...
- RabbitMQ基础知识详解
RabbitMQ基础知识详解 2017年08月28日 20:42:57 dreamchasering 阅读数:41890 标签: RabbitMQ 什么是MQ? MQ全称为Message Queue, ...
- Rabbitmq 基础
Rabbitmq基础 1 MQ 基本概念 1.1 MQ概述 MQ全称Message Queue,是在消息的传输过程中保存消息的容器,多用于分布式系统之间进行通信. 分布式系统通信两种方式:直接远程调用 ...
- Ruby使用RabbitMQ(基础)
Ruby使用RabbitMQ(基础) RabbitMQ documentation rabbitmq-tutorials rabbitmq-configure bunny 前提 最近刚刚接触到mq, ...
- rabbitmq基础1——消息中间件概念、Rabbitmq的发展起源和基本组件的作用流程
文章目录 一.消息中间件 1.1 概念 1.2 作用 1.2.1 消息队列持久化 1.2.2 消息队列分发策略 1.2.3 消息队列的高可用和高可靠 1.2.3.1 一主多从共享集群 1.2.3.2 ...
- rabbitmq基础2——rabbitmq二进制安装和docker安装、基础命令
文章目录 一.RabbitMQ安装 1.1 二进制安装 1.2 rabbitmqctl工具 1.3 docker安装 二.rabbitmq基础命令 2.1 多租户与权限类 2.1.1 创建虚拟主机 2 ...
- (2)RabbitMQ基础概念及工作流程详解
上一节中我们对MQ做了一个概要介绍,这一节开始我们选取RabbitMQ开始进行学习,本节将会RabbitMQ做个简单介绍,并且会对其常见的基础概念做个讲解,最后会简单介绍一下RabbitMQ的工作流程 ...
- RabbitMQ基础知识介绍、RabbitMQ的安装
RabbitMQ基础知识介绍 官方解释:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过 读写出入队列的消息 ...
- 转 RabbitMQ 基础概念及 Spring 的配置和使用 推荐好文 举例讲解
从不知道到了解-RabbitMQ 基础概念及 Spring 的配置和使用 转: sumile.cn » 从不知道到了解-RabbitMQ 基础概念及 Spring 的配置和使用 序言 你在系统中是 ...
- RabbitMQ基础概念详细介绍
转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼. ...
最新文章
- java中单例设计模式
- java String format占位符
- WaitForSingleObject的用法详细介绍
- python服务器搭建ftp_Python搭建HTTP服务器和FTP服务器
- 一个html文档的文件主题,HTML清单
- Linux sed 删除行命令常见使用详解
- Python获取代理IP地址
- 机器学习:维度灾难(Curse of Dimensionality)
- android 修改listview item view 的方法
- 2018 ideal 链接数据_利用 IDEA HTTP 请求文件访问 API 接口
- mac下安装和使用brew
- 老农斗杀巨型蜈蚣目击记
- 基于HTML5的在线绘图工具,基于HTML5 Canvas和jQuery 的绘图工具的实现
- Latex改变页边距
- 欧洲城市之最:伦敦被评为欧洲最脏城市 巴黎最不友善
- Java中使用redis的完整实例及常用命令
- 程序员兼职可以从什么平台接私活?
- Scanner输入带空格的字符串
- howlerjs 音乐播放插件
- oracle 内存错误的是什么意思,java - 是什么导致此JMS错误连接到OracleAQ? - 堆栈内存溢出...
热门文章
- 在ntpdate同步时间的时候出现“the NTP socket is in use, exiting”
- oracle 10g在线重定义新特性——关联对象自动重命名(二)
- 虚拟机Windows 2003忘记密码怎么办
- Mongodb db.serverStatus()所关心的几个输出值
- EXCHANGE 2003 恢复存储组的使用
- 表单元素内容禁用拼写检查
- [最小生成树] 继续畅通工程
- Redis 学习之事务处理
- C# 如何设置 richTextBoxr的边距
- JQuery Form AjaxSubmit(options)在Asp.net中的应用注意事项