metaq原始碼分析 一

2021-09-02 10:45:17 字數 729 閱讀 6999

一、metaq簡介

metaq(全稱metamorphosis)是乙個高效能、高可用、可擴充套件的分布式消 息中介軟體,,metaq具有訊息儲存順序寫、吞吐量大和支援本地和xa事務等特性,適用於大吞吐量、順序訊息、廣播和日誌資料傳輸等場景,metaq在阿 裡巴巴各個子公司被廣泛應用,每天**250億+條訊息。主要應用於非同步解耦,mysql資料複製,收集日誌等場景。

主要特點

二、metaq的總體架構

訊息中介軟體消費訊息有兩種方式,推 送訊息和拉取訊息,一般對於實時性要求非常高的訊息中介軟體,會更多的採用推送的模式,如activitiq,而metaq採用的主動拉取訊息的模式,通過 zookeeper進行協調,metaq分為三部分:server、client(包括訊息產生者和消費者)以及協調者zookeeper,總體結構如 下:

三、工程結構分析

工程依賴圖大致如下:

MetaQ技術內幕 原始碼分析 一

筆者最近在業務上需要使用到metaq,也藉此閱讀了metaq的相關原始碼,準備分享metaq原始碼分析。先掃掃盲,如果讀者對metaq已經較為熟悉,可以跳過下一段落。一 metaq簡介 metaq 全稱metamorphosis 是乙個高效能 高可用 可擴充套件的分布式訊息中介軟體,metaq具有訊...

metaq原始碼解讀之FetchManager

fetchmanager 請求管理器介面。既然是管理器,就需要知道管理的物件是什麼?fetchrequest 管理的是一次次的請求。既然是管理器,就需要給被管理者提供容所?fetchrequestqueue 請求delay queue。既然是管理器,就需要有管理實施者?fetchrequestrun...

Mangos原始碼分析 一)

mangos 原始碼分析 realmd 登陸伺服器 realmd 主程式 launch the realm server int main int argc,char argv h.add authlistensocket 進行一些引數設定 while stopevent 伺服器主迴圈 return...