rabbitmq实践笔记(一):安装、配置与使用初探
引言:
对于一个大型的软件系统来说,会有很多的组件、模块及不同的子系统一起协同工作,模块之间的通信需要一个可靠的通信管道来保证
,通信管道需要解决解决很多问题,比如:
1)信息的发送者和接收者如何维持这个连接,如果一方的连接中断,这期间的数据如何方式丢失?
2)如何降低发送者和接收者的耦合度?
3)如何让Priority高的接收者先接到数据?
4)如何做到load balance?有效均衡接收者的负载?
5)如何有效的将数据发送到相关的接收者?也就是说将接收者subscribe 不同的数据,如何做有效的filter。
6)如何做到可扩展,甚至将这个通信模块发到cluster上?
7)如何保证接收者接收到了完整,正确的数据?
AMDQ协议解决了以上的问题,而RabbitMQ实现了AMQP,关于rabbitmq的介绍可以看其官方文档介绍!
安装指南:
rabbitmq是建立在Erlang OTP平台上,所以需要先安装Erlang OTP平台,
windows下安装方法如下
1)去官网上下载Erlang运行时,选择合适的版本,一般最新的rabbitmq是基于最新的Erlang OTP, 全部点击下一步即可
,安装完成后可能需要配置系统环境变量,与jdk以及nodejs运行环境类似
2.下载运行RabbitMQ,需要其他版本或者32位系统的,可以去官网下载,全部点击下一步即可,安装完成会新增一个windows服务,
默认安装的RabitMQ监听的是5672端口;
linux下安装稍微复杂点以CentOS 7.3为例:
1)安装Erlang OTP,可以下载最新的Erlang最新的rpm包,然后调用rmp命令安装特定的版本,也可以调用CentOS的yum高级命令安装,
yum install erlang
2)安装RabbitMQ,去rabbitmq官网上获取指定版本的rpm
wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm yum install rabbitmq-server-3.6.12-1.el7.noarch.rpm
3)启动rabbitmq的服务并查看服务状态
service rabbitmq-server start
service rabbitmq-server status
4.rabbitmq的插件较丰富,可以安装rabbitmq的web管理插件
rabbitmq-plugins enable rabbitmq_management
备注:公网访问你可能需要开启防火墙,RabbitMQ默认监听的是5672端口,web管理插件为15672端口
,centos使用的是firewall防火墙,开启方法如下
firewall-cmd --add-port=15672/tcp --permanent firewall-cmd --add-port=5672/tcp --permanent
至此rabbitmq环境搭建完成 ,你可以调用rabbitmqctl --h查看其他相关命令,如添加用户等,也可以访问他的web插件进行相关配置