当前位置:   article > 正文

RabbitMQ的简单

RabbitMQ的简单

前言

        RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

目录

介绍 RabbitMQ系统结构

RabbitMQ成员

优点

缺点


 

介绍 RabbitMQ系统结构

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/438737
推荐阅读
相关标签
  

闽ICP备14008679号