天天看点

OpenMessaging概览

本文主要研究一下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中落地实现。通过这个标准可以简化各种消息中间件的高复杂性和不兼容性,提升消息中间件服务的易用性。

doc

  • OPENMESSAGING DOMAIN ARCHITECTURE V0.3
  • 解读OpenMessaging开源项目,阿里巴巴发起首个分布式消息领域的国际标准