跳到主要内容

第十二篇:初探RabbitMQ消息队列

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程

**MQ全称(Message Queue)又名消息队列,是一种异步通讯的中间件。**可以将它理解成邮局,发送者将消息传递到邮局,然后由邮局帮我们发送给具体的消息接收者(消费者),具体发送过程与时间我们无需关心,它也不会干扰我进行其它事情。常见的MQ有kafkaactivemqzeromqrabbitmq 等等,各大MQ的对比和优劣势可以自行Google

rabbitmq

RabbitMQ是一个遵循AMQP协议,由面向高并发的erlanng语言开发而成,用在实时的对可靠性要求比较高的消息传递上,支持多种语言客户端。支持延迟队列(这是一个非常有用的功能)….

基础概念

**Broker:**简单来说就是消息队列服务器实体
**Exchange:**消息交换机,它指定消息按什么规则,路由到哪个队列
**Queue:**消息队列载体,每个消息都会被投入到一个或多个队列
**Binding:**绑定,它的作用就是把exchangequeue按照路由规则绑定起来
**Routing Key:**路由关键字,exchange根据这个关键字进行消息投递
**vhost:**虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离
**producer:**消息生产者,就是投递消息的程序
**consumer:**消息消费者,就是接受消息的程序
**channel:**消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务

基于Centos7.x安装请参考: http://blog.battcn.com/2017/08/20/linux/linux-centos7-ribbitmq/