一眼看懂RabbitMQ

目录

介绍 RabbitMQ系统结构

优点

缺点


RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)

先了解整个系统的结构,以及优缺点。


介绍 RabbitMQ系统结构

一眼看懂RabbitMQ_第1张图片

  • Broker 主机 
  • Virtual host 虚拟主机
  • Connection 连接
  • Channel 通道
  • Exchange 交换机 (分发消息)
  • Queue 队列 (存储消息的位置)
  • Binding 绑定(绑定交换机和队列 )
  • Producer 生产者 (发消息)
  • Consumer 消费者 (处理消息)
  • Routing Key (路由key, 决定消息的分配)

以上关系可简化为   Producer ->   Broker -> Concumer


优点

1. 解耦,比如说系统A会交给系统B去处理一些事情,通过将A,B中间加入消息队列,A将要处理的事情交给消息队列 ,B的输入来源于与消息队列

2.有序性。先来先处理,比如一个系统处理某件事需要很长一段时间,但是在处理这件事情时候,有其他人也发出了请求,可以把请求放在消息队里,一个一个来处理

3.消息路由:按照不同的规则,将队列中消息发送到不同的其他队列中

4.异步处理: 处理一件A事情,可以拆分成B,C,D三个独立的环节,那么消息可以分发到三个队列中同时进行.


缺点

  • 系统可用性降低 (需要保证RabbitMQ高可用,才能维持整个系统的运转.)

        RabbitMQ 有三种模式:单机模式、普通集群模式(无高可用性)、镜像集群模式(高可用性)。docker搭建 Haproxy+rabbitmq集群_fqydhk的专栏-CSDN博客交流QQ号:555913397有什么问题可以加群大家一起交流Docker安装安装环境:Centos71.安装docker yum install -y docker2.配置阿里云docker镜像服务在阿里云容器镜像服务里有个镜像加速器,在里面可以得到私有的镜像加速地址下面编辑docker镜像加速vi /etc/docker/daemon.json会得到如下内容{}下面来改造它{ "r...https://blog.csdn.net/fqydhk/article/details/80430503

  • 系统复杂度提高 (需要注意消息丢失和重复处理的问题.)

        结合Redis进行登记和去重处理。

  • 一致性问题 (需要注意,B,C,D三件事情没有同时成功处理时,导致结果不一致)

         结合日志系统,重发消息到某个队列.

你可能感兴趣的:(rabbitmq,windows,分布式,思维导图)