-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
核心
- 消息队列技术选型
- 高可靠、高可用和高性能
- 消息不重复、不丢失
- 性能
- 扩展行: 水平
- 社区
分布式系统
- 最基本需求: 通信
- 特点: 3v-3h
- 3v
- 海量
- 实时
- 多样
- 3h
- 高并发
- 高可靠
- 高性能
- 3v
- 底层技术面: 高性能通信、海量数据存储、高并发等.
- 消息队列:
- 功能简洁
- 结构清晰
- 入门简单
- 深度足够
knowledge list
-
应用
- 日志
- 监控
- 微服务
- 流计算
- ETL
- IoT
- other
-
实现技术
- 网络通信
- 序列化反序列化
- 一致性协议
- 分布式事务
- 异步编程
- 数据压缩
- 内存管理
- 文件与高性能 IO
- 高可用分布式系统
哪些问题适合使用消息队列来解决
- 异步处理: 秒杀
-
流量控制:
自身能力范围内尽可能多地处理请求, 拒绝处理不了的请求并且保证自身运行正常- 使用消息队列隔离网关和后端服务, 以达到流量控制和保护后端服务的目的
- 能预估出秒杀服务的处理能力, 就可以用消息队列实现一个令牌桶
- 单位时间内只发放固定数量的令牌到令牌桶中, 规定服务在处理请求之前必须先从令牌桶中拿出一个令牌,
- 如果令牌桶中没有令牌, 则拒绝请求. 这样就保证单位时间内, 能处理的请求不超过发放令牌的数量, 起到了流量控制的作用.
- 服务解耦
- 作为发布 / 订阅系统实现一个微服务级系统间的观察者模式
- 连接流计算任务和数据
- 用于将消息广播给大量接收者
issue
- 消息堆积时不适合使用 RabbitMQ, 考虑使用 RocketMQ、Kafka 和 Pulsar




