序
本文主要研究一下OpenMessaging
架构图
- namespace,类似cgroup的namespace,用来进行安全隔离,每个namespace有自己的producer、consumer、topic、queue等
- producer,消息生产者有两类,一类是Producer,一类是BatchMessageSender,前者提供多种发送方法发送消息到队列,后者主要是关注速度,批量发送一次提交
- consumer,消息消费者有三类,一个是PullConsumer,一类是PushConsumer,还有一类是StreamingConsumer。PullConsumer从只能从固定一个队列拉取消息,PushConsumer可以从多个队列接收消息,通过MessageListener来接收,StreamingConsumer主要是用于流式处理
- queue,用于接收来自producer或者routing的消息
- routing,负责处理原生消息然后路由到其他队列
小结
OpenMessaging是阿里牵头发起的分布式消息模型标准,其api规范首先在rocketmq中落地实现。通过这个标准可以简化各种消息中间件的高复杂性和不兼容性,提升消息中间件服务的易用性。