栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

一眼看懂RabbitMQ

一眼看懂RabbitMQ

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

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


RabbitMQ系统结构

  • 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三件事情没有同时成功处理时,导致结果不一致)

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号