大型网站架构之千万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的主要内容,如果未能解决你的问题,请参考以下文章

千万PV 网站架构之 RabbitMQ 消息列队

千万PV网站架构之RabbitMQ(消息队列)安装集群

大数据实战之千万量级小说网站项目开发(存储复杂搜索推荐分析)

大型网站架构之百万PV

大型网站架构之百万PV

大型网站架构之百万PV