我们正在设计基于独立微服务(通过RabbitMq总线连接)的系统。该代码(至少对于第一个组件而言)将以python(python2和python3)编写。我们已经有一个实现某些业务逻辑的整体应用程序,我们希望将其重构为微服务并进行扩展。让我担心的一个问题是:
在不同的微服务之间共享代码的最佳方法是什么。我们具有通用的帮助程序功能(数据处理,日志记录,配置解析等),多个微服务必须使用这些功能。
微服务本身将被开发为单独的项目(git存储库)。通用库也可以作为一个独立项目开发。如何在微服务之间共享这些库?
我看到几种方法:
- 围绕每个微服务所需的库版本进行复制,并根据需要进行更新
- 将通用库发布到内部PyPi,并将这些库列为微服务需求中的依赖项
- 将库存储库包含为git子模块
在决定如何进行之前,我想阅读更多有关建议的方法,最佳实践和过去的经验。您有什么建议或链接吗?
fib(n)
斐波那契数列的实现)。您不想在每个微服务中重复该实现。属于一个utils
库(针对功能和错误修正的版本)。那不是分布式的整体,只是通用功能的一层。我的问题是如何在实施级别处理此层?