微服务请教:最近在 Golang 开始尝试 monorepo (大仓模式),某微服务不用的依赖,会被打包吗?

83 天前
 uiosun

最近因为项目越做越大,定义的 structure 在多个微服务都要使用,更新起来挺麻烦的,干脆开始尝试大仓模式,它们共用一个 go.mod 。

就请问大家,A 服务需要截图、B 服务完全不用截图,打包 B 时,会因为 go.mod 有截图包,而体积变大吗?

1377 次点击
所在节点    程序员
7 条回复
jworg
83 天前
一般不会,你可以做实验,但要学会分离模块的依赖,我上次尝试的情况是会按模块/文件夹引用的维度引入
uiosun
83 天前
@jworg 欧克,感谢大佬
kdwnil
83 天前
不看 go.mod ,看 main.go 以及它导入的包(对应目录下所有 go 文件,不管有没有用到)有没有用到这个截图包,有就会打进去,没有就不会
yougg
83 天前
查看依赖了哪些 module
go version -m 二进制文件

查看依赖了自身所在 module 的哪些包
go tool nm 二进制文件 | grep 'example.com/group/my-module/'
maocat
83 天前
不会,不然那些云服务商的 sdk 就被喷烂了
maggch97
83 天前
用 monorepo 的只有两种团队,特别菜或者特别牛逼
uiosun
83 天前
@yougg 哇哦,酷,谢谢大佬!

@maocat 哈哈,好,谢谢大佬。

@maggch97 说点有用的……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1138297

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX