请问用 flask 写微服务项目该如何组织?

2020-03-01 08:42:10 +08:00
 unknowfly

一个新项目被要求使用微服务形式,以前没有接触过,看了一些资料后还不是很清楚,问得有点啰嗦,见谅

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

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

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

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

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

© 2021 V2EX