騰訊犀牛鳥開源人才培養計劃Tars實戰筆記目錄


前言

在2021年夏,筆者參加了騰訊首屆開源人才培養計劃的Tars專案,負責Subset流量管理規則的Java語言JDK實現。其中寫作幾篇開源實戰筆記,將其總結在以下文章中。

大標題可以跳轉至對應博文。


第1篇 Win10下Docker部署TarsJava(SpringBoot)全過程及踩坑記錄

  • 相關環境版本

    坑點一:VMware與Win10 Docker衝突

    坑點二:20.版本TarsJava(SpringBoot)依賴檔案缺失
  • Docker安裝

    坑點三:Docker的映象預設安裝在C盤
  • Tars部署

    坑點四:Tars框架MySQL密碼錯誤
  • 程式碼處理

    坑點五:釋出包與服務名不匹配

    坑點六:[alarm] down, server is inactive
  • 介面除錯

第2篇 TarsJava SpingBoot啟動與負載均衡原始碼初探

  • Tars客戶端啟動
  • Communicator通訊器
  • 本客戶端的負載均衡呼叫器LoadBalance

第3篇 Tars中期彙報測試文件(Java語言實現Subset路由規則)

  • 任務介紹
  • 測試模擬方案
  • 按比例路由規則 - 單次測試
  • 按比例路由規則 - 多次測試
  • 按引數路由規則測試
  • 按無路由規則測試

第4篇 Subset路由規則業務分析與原始碼探索

  • Subset不是負載均衡
  • 從頭開始原始碼分析
  • Subset應該新增在哪
  • 總結

第5篇 基於TarsGo Subset路由規則的Java JDK實現方式(上)

  • 修改.tars協議檔案
  • 【核心】增添Subset核心功能
  • 新增常量與獲取染色key的方法
  • 【核心】修改獲取服務IP規則
  • 實現透傳染色Key功能(客戶端)
  • 實現透傳染色Key功能(服務端)
  • 給節點資訊增添Subset欄位
  • *新增工具類

第6篇 基於TarsGo Subset路由規則的Java JDK實現方式(下)

  • 修改.tars協議檔案
  • 【核心】增添Subset核心功能
  • 新增常量與獲取染色key的方法
  • 【核心】修改獲取服務IP規則
  • 實現透傳染色Key功能(客戶端)
  • 實現透傳染色Key功能(服務端)
  • 給節點資訊增添Subset欄位
  • *正則演算法的實現
  • *新增測試程式碼

第7篇 TarsJava Subset最終程式碼的測試方案設計

  • SubsetConf配置項的結構
  • 測試方案設計
  • 按比例路由規則 - 單次測試
  • 按比例路由規則 - 多次測試
  • 按引數路由規則 - 精確匹配測試
  • 按引數路由規則 - 正則匹配測試
  • 無路由規則測試

第8篇 TarsJava Subset最終程式碼的執行流程與原理分析

  • SubsetConf配置項的結構
  • 過濾節點的方法入口
  • subsetEndpointFilter()方法解析
  • getSubset()方法解析
  • getSubsetConfig()方法解析
  • 按比例路由的findSubet()方法解析
  • 按引數路由的findSubet()方法解析
  • 總結:Subset業務執行流程結構圖

最後

新人制作,如有錯誤,歡迎指出,感激不盡!
歡迎關注公眾號,會分享一些更日常的東西!
如需轉載,請標註出處!