问题背景:一个项目会由非常多微服务组成,其中部分微服务采用 Go 编写,部分采用 Java 编写
目前做法和我的思考:因为一个服务有实现方和调用方,所以 idl 文件肯定是放在单独仓库里的,因为目前改造的服务只涉及到 Go,所以我采用的方法是
将 idl 单独维护在一个 repo 并且提供 Makefile 文件,然后 Server 和 Client 使用 submodule 引入 idl 的 repo,通过外部的 Makefile 执行$(MAKE) -C /path/to/idl GO_OUT_DIR=$(shell pwd)/internal/proto
这样的方式编译到当前项目中。
但是考虑了下,因为还有 Java 调用 Go 服务的需求,所以我这种方法不太合适。
所以以下是我想请教的问题,希望大佬们不吝赐教!
谢谢大佬们~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.