中间件是业务系统之外的额外组件,消息中间件是以消息的形式在应用程序与应用程序之间进行信息交流的中间组件。它的管理基本单位是消息,通过消息的交互完成具体的业务功能的处理。
消息是消息中间件的功能基础,也是消息中间件的核心,消息中间件对外针对不同编程语言提供了丰富的开发API,通过对API的操作可以进行推入消息和拉取消息,最终完成具体的业务处理。
特点
消息中间件的特点:
高效:对于消息的处理处理速度快。
可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。
异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,既不需要等待。
使用场景
消息中间件的使用场景
- 异步处理
- 应用解耦
- 流量削峰
- 日志处理
- 消息通讯
消息消费模式
- 生产者消费者模型
该模型下生产者可能有多个,消费者也可能有多个,但一个消息只能被消费一次。 - 发布/订阅
Pub/Sub发布订阅(广播):使用topic作为通信载体,订阅了该topic的订阅者都能消费到此消息的拷贝。
常用的消息中间件包括:ActiveMQ、RabbitMQ、RocketMQ、Kafka.
网友评论