一个新项目被要求使用微服务形式,以前没有接触过,看了一些资料后还不是很清楚,问得有点啰嗦,见谅
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
遇到了同样的问题……难受。
|