当前位置: 代码迷 >> 综合 >> 学习笔记 ---- 消息中间件(2)
  详细解决方案

学习笔记 ---- 消息中间件(2)

热度:10   发布时间:2024-02-11 18:05:44.0

消息中间件分类

   (1)(push)推消息模型:消息生产者将消息推送给消息传递服务,消息传递服务又将消息推送消息消费者

   (2) (pull) 拉消息模型:消费者请求消息服务接收消息,消息生产间者在从消息中间件拉消息

模型 push pull
服务端

消息存储,处理请求

保存推送机制,保存订阅关系

消费者负载均衡,集中式

消息存储

处理请求

分布式

 

客户端 处理响应和请求

处理响应和请求

保存pull状态,如拉取位置的偏移量offset

异常状态情况下的消息暂存和recover

实时性 较好,收数据后立即发送到客户端 取决于pull的间隔时间
消费者故障

消费者故障下,服务端堆积消息,重复推送耗资源

保存推送轨迹压力很大

消费者故障对客户端无影响
其他 对消息推送有更多控制,能实现多样化的推送机制,当消费者数量增多时,推送压力大,性能天花板,消费者处理能力差异,导致堆消息

需要客户端实现消息过滤,浪费资源。

需要不同客户之间协调,做负载均衡

 

  相关解决方案