天天看點

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開源項目,阿裡巴巴發起首個分布式消息領域的國際标準