1. 简介
MQ -- Message Queue,先进先出队列(FIFO),队列中存放的是应用序列化的文本数据
2. 背景
流量消峰
- 流量 -- 某个时间点(瞬时)或某段时间内(时间段),用户发起的请求数量
- 峰值
- 消峰
- 将请求放入队列中,服务器从队列中拿请求进行消费,避免请求达到服务器处理的上限,从而让服务器宕机(停止服务)
- 服务器由被动处理请求变为主动处理请求
- 超出服务器承受能力的请求会缓存在消息队列中
应用解耦
- 前面主系统直接调用子系统A、B、C只要其中一个系统出现异常,则整个过程调用失败
- 后面通过消息队列的形式,子系统A、B、C其中一个出错,可以选择重试,不会影响其他系统执行
异步处理
3. 产品
- Kafka
- 高吞吐量,简单
- Rabbitmq
- 工具链完善,社区活跃