项目需求刚刚递交,新需求还没来。闲下来了,写写博客放松下。html
===========华丽的分割线=================windows
最近在学习Spring Cloud,其中消息总线Spring Cloud Bus是必不可少的,可是Spring Cloud Bus目前只支持RabbitMQ和kafka,所以学习RabbitMQ势在必行,今天先从最基本的安装开始。安装以前咱们先认识下RabbitMQ。浏览器
1、初识RabbitMQ服务器
百度百科有这么一句话:ide
MQ是消费-生产者模型的一个典型的表明,一端往消息队列中不断写入消息,
而另外一端则能够读取或者订阅队列中的消息。
MQ和JMS相似,但不一样的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,
而MQ则是遵循了AMQP协议的具体实现和产品。
他的官网中用大大的黑粗字体写着:学习
RabbitMQ is the most widely deployed open source message broker.
因而可知,RabbitMQ是一个消息中间件,生产者生成消息,消费者消费消息,它遵循AMQP(高级消息队列协议),是最普遍部署的开源消息代理。字体
另外,RabbitMQ是用Erlang语言实现的,它有几个概念:spa
broker:消息队列服务器实体。
exchange:消息交换机,它指定消息按什么规则,路由到哪一个队列。
queue:消息队列,每一个消息都会被投入到一个或多个队列。
binding:绑定,它的做用就是把exchange和queue按照路由规则绑定起来。
routing Key:路由关键字,exchange根据这个关键字进行消息投递。
vhost:虚拟主机,一个broker里能够开设多个vhost,用做不一样用户的权限分离。
producer:消息生产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序。
channel:消息通道,在客户端的每一个链接里,可创建多个channel,每一个channel表明一个会话任务。
消息队列的使用过程大概以下:插件
(1)客户端链接到消息队列服务器broker,打开一个channel。 (2)客户端声明一个exchange,并设置相关属性。 (3)客户端声明一个queue,并设置相关属性。 (4)客户端使用routing key,在exchange和queue之间创建好绑定关系。 (5)客户端投递消息到exchange。 (6)exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。
2、安装RabbitMQ(以Windows为例)3d
因为RabbitMQ是用Erlang语言编写的,所以须要先安装Erlang。
安装完Erlang以后,咱们就能够安装RabbitMQ了。
安装好以后,RabbitMQ就做为一个服务按照默认方式进行启动了
3、启动管理页面
咱们能够经过Web进行管理RabbitMQ:
若是要添加新用户的话,点击Admin选项卡,进行添加,详细的再也不叙述,相信你们一看就能懂。
就这样,RabbitMQ安装完毕。下一篇随笔将介绍下怎么经过Spring Boot整合RabbitMQ。