2.1 RabbitMQ
RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。
RabbitMQ官方地址:http://www.rabbitmq.com/
RabbitMQ提供了6种模式:简单模式,work模式,Publish/Subscribe发布与订阅模式,Routing路由模式,Topics主题模式,RPC远程调用模式(远程调用,不太算MQ);
官网对应模式介绍:https://www.rabbitmq.com/getstarted.html
2.2 Mac安装erlang和rabbitmq
目标:安装Mac版本RabbitMQ,并配置其用户和Virtual Hosts
步骤:
1. 安装erlang ;
brew install erlang
2. 安装rabbitMQ;
brew install rabbitmq
3. 安装RabbitMQ的图形管理界面插件;
// 切换到MQ目录,注意你的安装版本可能不是3.9.7
cd /opt/homebrew/Cellar/rabbitmq/3.9.7
// 启用rabbitmq management插件
sudo sbin/rabbitmq-plugins enable rabbitmq_management
4. 配置环境变量
sudo vi /etc/profile
//加入以下两行
export RABBIT_HOME=/usr/local/Cellar/rabbitmq/3.9.7
export PATH=$PATH:$RABBIT_HOME/sbin
// 立即生效
source /etc/profile
5. 后台启动rabbitmq
// 后台启动
sudo rabbitmq-server -detached //参数detatched表示以守护线程方式启动
// 查看状态
sudo rabbitmqctl status
// 访问可视化监控插件的界面
// 浏览器内输入 http://localhost:15672,默认的用户名密码都是guest,登录后可以在Admin那一列菜单内添加自己的用户
rabbitmqctl stop 关闭
6. 创建管理用户;
** 角色说明:**
1、 超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2、 监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
3、 策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
4、 普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
5、 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
7. 创建虚拟主机Virtual Hosts
Virtual Hosts像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。RabbitMQ也有类似的权限管理;在RabbitMQ
中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost
之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头。
可以看到虚拟主机 test01 用户新增成功