乐趣区

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)。
这样,利用自动化集成工具,要么将编译后的编程语言源码放到内部公共依赖源中,要么直接集成到项目目录下。

退出移动版