大型网站架构之千万PV之RabbitMQ
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大型网站架构之千万PV之RabbitMQ相关的知识,希望对你有一定的参考价值。
- 简介
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。
- 几个概念
Exchange:交换机,决定了消息路由规则;
Queue:消息队列;
Channel:进行消息读写的通道;
Bind:绑定了Queue和Exchange,意即为符合什么样路由规则的消息,将会放置入哪一个消息队列;
- 实验环境
一台磁盘节点:192.168.177.145
一台内存节点:192.168.177.135
一台内存节点:192.168.177.132
磁盘节点
# vim /etc/hostname
mq01.localadmin
# vim /etc/hosts
192.168.177.145 mq01
192.168.177.135 mq02
192.168.177.132 mq03
# init 6
内存节点
# vim /etc/hostname
mq02.localadmin
# vim /etc/hosts
192.168.177.145 mq01
192.168.177.135 mq02
192.168.177.132 mq03
# init 6
内存节点
# vim /etc/hostname
mq03.localadmin
# vim /etc/hosts
192.168.177.145 mq01
192.168.177.135 mq02
192.168.177.132 mq03
# init 6
磁盘节点
# systemctl stop firewalld.service
# setenforce 0
# ln -s /usr/lib/rabbitmq/bin/* /usr/bin/ //识别命令
# rabbitmq-plugins enable rabbitmq_management //提供web端
# systemctl start rabbitmq-server.service //开启服务
# rabbitmqctl cluster_status //查看状态
内存节点(两台一样)
# systemctl stop firewalld.service
# setenforce 0
# ln -s /usr/lib/rabbitmq/bin/* /usr/bin/ //识别命令
# rabbitmq-plugins enable rabbitmq_management //提供web端
# systemctl start rabbitmq-server.service //开启服务
# rabbitmqctl cluster_status //查看状态
磁盘节点
# systemctl stop rabbitmq-server.service
# cd /var/lib/rabbitmq/
# cat .erlang.cookie
JZVFRKVBEINPGMWDOFOR//查看序列号,进行复制
# systemctl start rabbitmq-server.service
内存节点(两台一样)
# systemctl stop rabbitmq-server.service
# cd /var/lib/rabbitmq/
# vim .erlang.cookie
JZVFRKVBEINPGMWDOFOR //换成这个
# systemctl start rabbitmq-server.service
# rabbitmqctl stop_app //停掉rabbitmq应用
# rabbitmqctl join_cluster --ram [email protected] //调用cluster命令,将mq02连接到mq01
# rabbitmqctl start_app //启用rabbitmq应用
# rabbitmqctl cluster_status //查看状态
磁盘节点
# rabbitmqctl cluster_status //查看状态
以上是关于大型网站架构之千万PV之RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章