Thrift RPC 系列教程(4)——源码目录结构组织

Thrift 代码就是编程代码。是代码,就应该有良好的工程组织,并且,单独git仓库、版本管理,都是必不可少的。

前面我们简单总结了一些 Thrift 的一些基础知识点,但无非是一些细节层面的东西,所谓『细枝末节』也。而一些东西,想要用得舒服,
工程组织架构,一样都不能少。

然而,代码组织架构,如同『一千个读者,就有一千本《红楼梦》』一样,每个人都有自己的理解,无非是选择问题,无非是口味问题。

就我而言,一般喜欢小的、分而治之的东西,所以,我一般有如下的诉求:

  1. 独立的git仓库管理
  2. 清晰的目录命名
  3. 自动化
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)。

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

相关推荐