消息队列
消息队列
基础概念
消息 message:内容,字节序列
生产者 producer:生产消息向mq提交
消费者 consumer:从mq取出消息并消费
主题 topic:一类消息的集合
队列 queue:先进先出,顺序性
消息队列服务器 broker:消息服务器,作为server提供消息核心服务
场景
支付后的回调,完成任务的回调
作用
知道了场景,就知道了作用
- 解耦,降低业务逻辑耦合,异步rpc
- 提升可用性
- 提升整体性能,提升服务响应速度
- 削峰缓冲,消息流控,蓄水池
特性
mq 高可用:
mq 可靠存储:
mq 怎样的服务模型:
mq 高吞吐、高性能:
mq 消息周期:
进阶1 消息要被可靠投递
生产侧保证发送成功前不丢弃消息
mq在消息落地存储后再确认
消费侧业务逻辑完成后再确认
数据丢失、冗余、性能的平衡与妥协
进阶2 消息要有序
生产方确保顺序产生消息
mq确保消息有序落地
mq确保消息被消费者按顺序消费
全局顺序代价高,消息分片更合理