|
rabbitmq消息中间件里面的概念和功能
publisher(生产者) 生产消息的功能。
consumer(消费者) 消息的处理者。
broker 消息中间件所在的主机
virtual host 一个rabbitmq里面可以开启多个virtual host,类似于spring mvc里面filter的过滤,可以根据host的路径来过滤权限。
connection(连接) 生产者、消费者连接virtual host的tcp连接。
channel(通道) 一个连接里面可以开启多个channel,达到复用连接的作用。
exchange(消息分发) 路由交换消息。生产者生产的消息会发送给exchange,exchange来觉得这个消息发送给哪个或哪几个队列,作为消息分发的角色。
rabbitmq消息转发模式的多样性也是在exchange上提现出来的。
这里需要注意的地方,exchange只是消息转发,不会存储消息。
routing key(消息分发依据) exchange根据routing key在进行消息分发,分发到不同的队列
queue(队列,存储消息的容器) 经过exchange路由后,消息会存储到queue中,默认情况下,消息会先存储到内存,而后会持久化到硬盘
注意,在消息转发时,队列不是必须的,可以省略掉队列,从exchange直接到消费者,消息不会存储到rabbitmq上。
安装前准备工作
所有集群主机相互添加IP到hosts里,我这里使用双节点集群
#sudo vim /etc/hosts
1.1.1.1 rabbitmq01
1.1.1.2 rabbitmq02
| 安装 Erlang
添加yum仓库源
#sudo vim/etc/yum.repos.d/erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/6
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
| 刷新Yum缓存
安装Erlang
#sudo yum install -y erlang | 下载rabbitmq
#curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash | 安装rabbitmq
sudo yum install rabbitmq-server-3.7.4-1.el6.noarch -y
| 开启rabbitmq插件
#sudo rabbitmq-plugins enable rabbitmq_management
| 更改配置文件
#sudo cd /var/lib/rabbitmq/
#sudo chmod u+w .erlang.cookie
#sudo vim .erlang.cookie主节点无须更改(从节点配置:将主节点的文件拷贝过来)
| 注意:erlang.cookie文件需要与主节点的一致,
#sudo chmod u-w .erlang.cookie
#sudo chown rabbitmq:rabbitmq .erlang.cookie
| 此文件的权限需要设置为400
新建rabbitmq配置文件
#sudo vim /etc/rabbitmq/rabbitmq.config
[
{rabbit, [
{loopback_users, []},
{heartbeat, 30},
{vm_memory_high_watermark, 0.4},
{disk_free_limit, {mem_relative, 2.0}}
]}
].
| 启动rabbitmq
#service rabbitmq-server start | 从节点加入到集群中
#sudo rabbitmqctl stop_app
#sudo rabbitmqctl join_cluster rabbit@rabbitmq01
#sudo rabbitmqctl start_app
| 查看集群状态
#sudo rabbitmqctl cluster_status | 集群将配置好,可以过浏览器设置Users,Virtual Hosts, policies
http://1.1.1.1:15672 默认账号密码为:guest
点击Add a user,输入账号,密码,选择Monitoring,点击Add User
点击Virtual Hosts,输入刚才创建的用户,点击Add virtual host
出现如下框,点击Set permission,virtual host将创建成功
创建policies
点击Add /update a policy
填入如图内容,点击Add policy,policies创建成功
|
|
|