什么时MQ(消息队列)
什么是MQ
-
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。
其主要用途:不同进程Process/线程Thread之间通信。
为什么会产生消息队列?有几个原因: -
不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;
-
不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化了,并且,某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队,因此诞生了事实上的消息队列;
—————————————————————————————————————————————
rabbitmq安装【单机】
- 安装 rabbitmq 之前要先安装 elang
yum install erlang
- 安装 rabbitmq
yum install rabbitmq
- 启动rabbitmq
systemctl start rabbitmq-server.service
- 查看状态
systemctl status rabbitmq-server.service
- 出现绿色的 active则启动成功
- 设置开启启动
systemctl enable rabbitmq-server.service
开启管理后台
cd /apprun/rabbitmq/sbin
./rabbitmq_plugins enable rabbitmq_management
- 这时候会报错如下:
- Applying plugin configuration to rabbit@k8s02… failed.
Error: {cannot_read_enabled_plugins_file,
“/apprun/rabbitmq/etc/rabbitmq/enabled_plugins”,eacces} - 解决方法:
#先执行,解除防火墙限制,增加文件权限
umask 0022