我们正在开发一个具有微服务架构的新Web项目。
我们需要大约5个Front Web项目,以及大约5个API微服务与API管理器协调。
我们计划使用Symfony2 Framework,但我认为它太重了。我的意思是因为作曲家的实例将从symfony组件,核心...以及用于每个项目的相同库(例如phpmailer)下载所有相同的库。
实际上,我问自己有关供应商文件夹的一个很好的共享策略,假设每个SF2项目都使用共享供应商文件夹并计算唯一文件夹中的所有库。 我们需要为每个项目中的每个库提供相同的版本。
有人在这种分享方面有一些实验吗?最佳做法?每个项目最好有一个供应商文件夹吗?
公开讨论!
干杯。
答案 0 :(得分:1)
您可以将vendor dir定义为composer.json
中的shares文件夹{
"config": {
"vendor-dir": "/usr/share/php/composer/vendor"
}
}
它可以帮到你吗?
答案 1 :(得分:0)
你不应该在微服务之间分享任何东西。这是因为您将失去微服务的主要优点:您可以独立部署每个微服务。
他们也应该松散耦合。他们应该不了解其他技术。这意味着如果您在一个微服务中从PHP更改为Java,那么其他的不会受到影响。事实上,他们甚至不应该知道或关心。与数据库相同。