Thrift 代码就是编程代码。是代码,就应该有良好的工程组织,并且,单独git仓库、版本管理,都是必不可少的。 前面我们简单总结了一些 Thrift 的一些基础知识点,但无非是一些细节层
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)。
这样,利用自动化集成工具,要么将编译后的编程语言源码放到内部公共依赖源中,要么直接集成到项目目录下。