1. 消息队列(Message queue)
消息队列是在消息传递过程中保存消息的容器,通过消息队列可以使用消息将应用程序连接起来。这些消息通过像RabbitMQ这样的消息代理服务器在应用程序之间路由。
2. 高级消息队列协议(Advanced Message Queuing Protocol)
一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。
3. RabbitMQ
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
4. RabbitMQ安装配置
- 4.1. 安装Erlang
1. 安装类库
yum -y install ncurses-devel
yum -y install openssl-devel
yum -y install unixODBC-devel
yum -y install gcc-c++
2. 下载Erlang,解压、编译、安装、配置
2.1. 下载地址:http://www.erlang.org/downloads
2.2. 安装到指定目录:
./configure --prefix=/hwd/software/erlang
make
make install
2.3. 配置环境变量
export ERLANG_HOME=/hwd/software/erlang
export PATH=$ERLANG_HOME/bin
2.4. 测试验证
erl
- 4.2. 安装配置RabbitMQ
1. 下载RabbitMQ
http://www.rabbitmq.com/install-rpm.html#downloads
2. 上传并安装
1. rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
# 需要centos 7 及 erlang 20+ 版本
2. yum install rabbitmq-server-3.6.15-1.el6.noarch.rpm
3. 启动:service rabbitmq-server start/stop/status
4. 注册为开机启动:chkconfig rabbitmq-server on
3. 配置
1. 安装插件:rabbitmq-plugins enable rabbitmq_management
2. 访问:http://IP:15672/
3. 配置文件:
vi /etc/rabbitmq/rabbitmq.config
[{rabbit, [{loopback_users, []}]}].
这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
4.日志文件/var/log/rabbitmq/
rabbit@{hostname}.log,输出rabbitmq运行相关的信息,如网络流量、用户、交换器、队列等信息
rabbit@{hostname}-sasl.log,Erlang运行相关信息
5. RabbitMQ用户权限
- 查看用户:rabbitmqctl list_users
- 添加用户:rabbitmqctl add_user fzb fzb2019
- 修改密码:rabbitmqctl change_password fzb fzb2019
- 设置权限:rabbitmqctl set_user_tags fzb administrator
- 删除用户:rabbitmqctl delete_user fzb
- 查看所有用户权限:rabbitmqctl list_permissions
- 查看指定用户权限:rabbitmqctl list_user_permissions fzb
- 权限分类
用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
1. 超级管理员(administrator):可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2. 监控者(monitoring):可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)。
3. 策略制定者(policymaker):可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
4. 普通管理者(management):仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
5. 其他:无法登陆管理控制台,通常就是普通的生产者和消费者。
每一个不曾起舞的日子都是对生命的辜负
网友评论