序
本文主要研究一下OpenMessaging
架構(gòu)圖
- namespace,類似cgroup的namespace,用來進(jìn)行安全隔離,每個(gè)namespace有自己的producer、consumer、topic、queue等
- producer,消息生產(chǎn)者有兩類,一類是Producer,一類是BatchMessageSender,前者提供多種發(fā)送方法發(fā)送消息到隊(duì)列,后者主要是關(guān)注速度,批量發(fā)送一次提交
- consumer,消息消費(fèi)者有三類,一個(gè)是PullConsumer,一類是PushConsumer,還有一類是StreamingConsumer。PullConsumer從只能從固定一個(gè)隊(duì)列拉取消息,PushConsumer可以從多個(gè)隊(duì)列接收消息,通過MessageListener來接收,StreamingConsumer主要是用于流式處理
- queue,用于接收來自producer或者routing的消息
- routing,負(fù)責(zé)處理原生消息然后路由到其他隊(duì)列
小結(jié)
OpenMessaging是阿里牽頭發(fā)起的分布式消息模型標(biāo)準(zhǔn),其api規(guī)范首先在rocketmq中落地實(shí)現(xiàn)。通過這個(gè)標(biāo)準(zhǔn)可以簡(jiǎn)化各種消息中間件的高復(fù)雜性和不兼容性,提升消息中間件服務(wù)的易用性。