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

騰訊犀牛鳥開源人才培養計劃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業務執行流程結構圖

最後

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