RabbitMQ基础之【1.RabbitMQ简介和基本环境搭建】
一.RabbitMQ简介
1. 什么是分布式异步队列
异步队列架构首先由:生产者,Broker(中间人/经纪人),消费者组成,我们可以称Broker为异步队列。生产者,Broker,消费者都是不同的进程,并且部署在不同的服务器上,那就是分布式异步队列。
扩展链接:消息队列常见的几种使用场景介绍
a.分布式异步队列架构图:
b. 分布式异步队列架构在大数据高并发架构中的应用:
c. 当然,Broker也可以搭建集群,消费者集群和数据库集群之间的分布式事务等问题在此暂不讨论
d. 分布式异步队列的优缺点:
优点:
异步处理,响应快(生产者写入异步队列后就可以直接把结果响应给上端服务/UI),增加了数据库(服务器的承载能力);
流量削峰,一般在秒杀或团抢活动中使用广泛,用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面。
解耦(扩展性更强),生产者和消费者的业务独立演化;
高可用,消费者如果发生故障了,对生产者没有影响,一样写入队列中,等消费者排除故障后,继续消费即可;
缺陷:
增加了复杂性;
即时性降低了,牺牲了用户的体验—避免不了,业务上也是需要有所牺牲;
更加依赖于异步队列了(挂掉就麻烦了,所以需要搭建集群);
2. RabbitMQ和Redis
那么Broker可以用什么来代替呢?市面上有很多异步队列中间件,例如ActiveMQ,RocketMQ,Kafka,RabbitMQ,Redis。本章内容我们讲RabbitMQ,同时对比一下Redis。
RabbitMQ: 2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,由Erlang(专门针对于大数据高并发的语言)语言开发,可复用的企业消息系统,是当前最主流的消息中间件之一。
二.基本环境搭建
1. Windows For RabbitMQ
2. Linux For RabbitMQ
3. Linux+Docker For RabbitMQ
三.RabbitMQ管理平台功能说明文档
一般我们会使用具有管理平台页面的rabbitmq版本,那么,这个管理平台页面到底有什么功能呢??
这个小哥写的非常完整,👍一个链接: RabbitMQ管理平台功能说明文档.