【源碼】otter工程結構

最近在搞數據同步相關的內容,須要對otter的代碼進行擴展,因此須要先熟悉一下otter的源碼。首先咱們總體來看下otter的工程結構。otter的工程結構比較複雜,須要花費必定的時間來理解各個部分的內容,僅僅經過官方文檔沒法準確的理解各個模塊的內容,現分析以下:node

otter總體的工程結構以下:web

otter
|--manager
    |--biz
    |--deployer
    |--web
|--node
    |--canal
    |--common
    |--deployer
    |--etl
    |--extend
|--shared
    |--arbitrate
    |--common
    |--communication
    |--etl
    |--push

其中,經過官方文檔咱們能夠知道,manager和node是要單獨部分的工程,因此咱們能夠大致瞭解以下內容:服務器

  • manager是對node節點進行管理,數據統計,node節點之間的協調,基本信息的同步等。
    • biz:業務處理內容
    • deployer:manager打包和啓動的類,主要內置一個jetty的服務啓動器,經過OtterManagerLauncher啓動
    • web:manager的web頁面相關內容,包括接口
  • node是實際上進行數據同步的工程
    • canal:canal客戶端,就是訂閱binlog的客戶端,Otter採用的是Embed的方式引入Canal
    • common:公共內容定義
    • deployer:打包工具,運行腳本,內置jetty服務器,啓動類OtterLauncher
    • etl:S.E.T.L 調度、處理的實現,是Otter最複雜、也是最核心的部分
    • extend:留有的擴展類,能夠自定義一些處理過程
  • shared是manager和node公有的子系統
    • arbitrate:仲裁器相關內容,代碼比較多,後面咱們慢慢分析
    • common:manager和node用到的一些公共類
    • communication:遠程調用相關內容
    • etl
    • push

最後兩塊的具體內容還未仔細分析,須要後續進行補充。工具

相關文章
相關標籤/搜索