一个新项目被要求使用微服务形式,以前没有接触过,看了一些资料后还不是很清楚,问得有点嗦,见谅
![]() | 1 littlewey 2020-03-01 09:16:36 +08:00 via iPhone 我没实践过,不过第一个问题:代码可以写成一个,只不过不同进程的 entrypoint、启动方式不通。 |
![]() | 2 lbfeng 2020-03-01 09:22:51 +08:00 各个服务之间公用的基础模块、枚举之类的应该如何处理。打包成 python package. pip 下载 |
![]() | 3 zjsxwc 2020-03-01 10:10:13 +08:00 via Android consul 这种专业点, 要又糙又简单的就直接无脑 redis 中 pub/sub 两条指令搞 |
![]() | 4 GoLand 2020-03-01 10:16:51 +08:00 1. 不同服务当然应该弄成两个不同的代码库,代码库精小维护起来也方便。 2. 工具类共用库抽成 pip 包,发布到自己源上。枚举类各自定义就可以了。但是如果有大量的共用的业务模块,再考虑考虑服务拆分是不是合理的。 3. 部署看个人喜好,k8s 或者 swarm 这种都能用,扩容方便。 |
![]() | 5 hp66722667 2020-03-02 08:32:41 +08:00 docker-compose 只能用于开发环境的测试,生产环境怎么能用呢 |
6 a852695 2020-03-02 08:53:26 +08:00 感觉你用 flask 做微服务思路没问题,但是实际情况是支持 flask 下的 rpc 协议不算太多,不像 java 有强大的微服务生态,spring boot 和 spring cloud 等等 |
![]() | 7 unknowfly OP 谢谢大家的建议,感觉现在的确是没有定式或者通用,我觉得还是先把项目搞起来,以后遇到什么坑再说说 |
8 sicklife 2020-11-06 15:02:37 +08:00 遇到了同样的问题……难受。 |