赞
踩
前言
RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
目录
- 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 有三种模式
结合Redis进行登记和去重处理。
结合日志系统,重发消息到某个队列.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。