MQ的优势:
解耦合-MQ相当于一个中介,帮助生产者和消费者之间交互数据。
任务异步处理:
提高用户体验和系统吞吐量(单位时间内处理的请求)。
削峰填谷:
把秒杀订单的高峰写入数据库请求进行削峰,限制写入请求数目在一定的数量,慢慢的把所有请求都写入(填谷)保证数据库正常运行。
常见的MQ产品:
RabbitMQ、RocketMQ、ActiveMQ、Kafka
RabbitMQ的6种模式:简单模式(点对点模式)、work模式、发布与订阅模式、Routing路由模式、Topics主题模式、RPC远程调用模式(不太算);
先进行安装RabbitMQ;使用COS7安装
安装依赖环境:yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz安装 Erlang 首先需要上传 3个文件 erlang-18.3-1.el7.centos.x86_64.rpm socat-1.7.3.2-5.el7.lux.x86_64.rpm rabbitmq-server-3.6.5-1.noarch.rpm到linux 然后使用命令安装
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm --force --nodeps rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
相关命令
# 开启管理界⾯ rabbitmq-plugins enable rabbitmq_management # 修改默认配置信息 vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app service rabbitmq-server start # 启动服务 service rabbitmq-server stop # 停⽌服务 service rabbitmq-server restart # 重启服务
启动好了之后就可以访问了 ip:15672
密码如果没改的话就是 guest账号也一样(注意只能是本地网络登录,如果是云服务器不行)
如果是云服务器可以创建一个账号
#创建用户 rabbitmqctl add_user 账号 密码 #设置为管理 rabbitmqctl set_user_tags 账号 administrator #设置权限 rabbitmqctl set_permissions -p / 账号 "." "." ".*"
然后就可以登录啦(要记得开墙哦)
⻆⾊说明 : 1 、 超级管理员 (administrator) 可登陆管理控制台,可查看所有的信息,并且可以对⽤户,策略 (policy) 进⾏操作。 2 、 监控者 (monitoring) 可登陆管理控制台,同时可以查看 rabbitmq 节点的相关信息 ( 进程数,内存使⽤情况,磁盘使⽤情况等 ) 3 、 策略制定者 (policymaker) 可登陆管理控制台 , 同时可以对 policy 进⾏管理。但⽆法查看节点的相关信息 ( 上图红框标识的部分 ) 。 4 、 普通管理者 (management) 仅可登陆管理控制台,⽆法看到节点信息,也⽆法对策略进⾏管理。 5 、 其他 ⽆法登陆管理控制台,通常就是普通的⽣产者和消费者 Virtual Hosts 配置 像 mysql 拥有数据库的概念并且可以指定⽤户对库和表等操作的权限。 RabbitMQ 也有类似的权限管理;在 RabbitMQ 中可以虚拟消息服务器 Virtual Host ,每个 Virtual Hosts 相当于⼀个相对独⽴的 RabbitMQ 服务器,每个 VirtualHost 之间是相互隔离的。 exchange 、 queue 、 message 不能互通。 相当于 mysql 的 db 。 Virtual Name ⼀般以 / 开头。



