Thrift RPC 系列教程(4)——原始碼目錄結構組織
Thrift 程式碼就是程式設計程式碼。是程式碼,就應該有良好的工程組織,並且,單獨git倉庫、版本管理,都是必不可少的。
前面我們簡單總結了一些 Thrift 的一些基礎知識點,但無非是一些細節層面的東西,所謂『細枝末節』也。而一些東西,想要用得舒服, 工程組織架構,一樣都不能少。
然而,程式碼組織架構,如同『一千個讀者,就有一千本《紅樓夢》』一樣,每個人都有自己的理解,無非是選擇問題,無非是口味問題。
就我而言,一般喜歡小的、分而治之的東西,所以,我一般有如下的訴求:
- 獨立的git倉庫管理
- 清晰的目錄命名
- 自動化
src/ services/對外暴露介面 XXService.thrift structs/物件,class person.thrift enums/公共列舉 constants/公共常量 exceptions/公共異常,有些團隊,RPC不喜歡使用異常,所以這個目錄可以沒有 compile_thrift_to_cpp.sh編譯指令碼 compile_thrift_to_py.sh 複製程式碼
看得出,上面的目錄組織,喜歡直接使用 Thrift 中的名詞概念,可以謂之『就近原則』。適合一些“不願記憶,或者記憶力有點不足”的人(like me)。
這樣,利用自動化整合工具,要麼將編譯後的程式語言原始碼放到內部公共依賴源中,要麼直接整合到專案目錄下。