![]() |
1
Maboroshii 5 小时 2 分钟前
protobuf 和 grpc 呗
|
2
kapr1k0rn 5 小时 0 分钟前
monorepo
|
![]() |
3
qxmqh 4 小时 19 分钟前 ![]() 换成单体。
|
4
pxiphx891 3 小时 8 分钟前
没写过 python ,不过 java 一直是这样的,打一个单独的包,所有人依赖这个包
|
5
pigspy 3 小时 7 分钟前
服务不多的情况下直接用 monorepo
|
![]() |
6
MIUIOS 2 小时 42 分钟前
参考 java 暴露出 dto do vo 这些单独一个包,其他模块随便引入
|
7
NoKey 2 小时 40 分钟前
团队执行力强(盖的住成本)的话,搞公共包,内网搭 maven 仓,拉下来就能用,不过这需要额外的人力去维护这一套;一般的团队,重复写就重复写,要么就是相互复制,除了消耗人力,又不会怎么样😂
|
8
justdoit123 OP @Maboroshii grpc 可以上。但是需要共享的代码,不局限于 protobuf 描述的数据。
|
9
justdoit123 OP monorepo 倒是也可以。但是我感觉组员有时候写得很野,跨服务乱引用。综合来看,不太适用我们。
|
10
justdoit123 OP 综合上面的回答,可能适合的方案还是服务的“常量”代码抽成一个包。
|
![]() |
11
blackmatch 1 小时 31 分钟前
1.抽成一个公共包,各个服务引入调用即可。
2.做一个配置中心服务,所有服务统一读取同一份配置,做好更新和兜底策略。好处是修改配置不用发版,在配置中心改一下就可以了。 |
![]() |
12
patrickpu 1 小时 10 分钟前
需要一个 common 的基础包
|
![]() |
13
iyaozhen 51 分钟前
一般是吧这些和 idl 绑定,idl (比如 pb 描述)生成这个仓库,各方来引用
不过怎么说呢,没必要强行微服务。特别是 python 。python 4 个服务一个分 1c 。还不如一起在 4c 的机器性能好 |
14
sampeng 26 分钟前 via iPhone
你这就属于,想用微服务规范和隔离开发,但又已经看到微服务最大的蛋疼。
最好 code reviewer ,你说的问题都不是问题。monorepo 又不是想怎么写怎么写 |
15
justdoit123 OP @iyaozhen 微服务是既定现状,前人拆分的,至少已经快 8 年了,暂时没资源去改回单体。
|
16
Rickkkkkkk 8 分钟前
common 包用起来其实没那么方便,远远不如代码里直接写一个 const 来的简单。
|
17
justdoit123 OP @sampeng 几乎没有 code review 。
说得难听点,现在最好的 "code review" 就是测试 + 一上生产环境就挂掉。没埋雷,半夜爆炸就不错。 所以,我才想多引入一下非人工的花销来尽量保证稳定。比如: 1. type hint 。有点作用。 2. 写 DTO 而不是一个 dict 满天飞。不然回头维护的时候很慢热,记不住 key ,经常导致 KeyError 。也算有点作用。 3. 常量共享而不是用到就“手抄”一遍,这种手抄还会抄错。 不怕各位笑话。我们还有一个“运行时的常量共享方案”是这样的:每个服务提供一个接口返回本服务的一些常量定义,然后服务启动的时候,去请求一遍这些常量定义。 我感觉是很难用。运行时、纯动态,你写代码的时候,根本不知道自己引用的值存不存在。IDE 也无法给你补全。 |