我在Martin Fowler的页面上阅读the article on Microservices并发现它非常有趣。现在我计划构建一个电子商务Web应用程序作为概念验证,我想知道我的概念是否被认为是微服务架构。
该架构由3个组件组成:
目前,服务都是Magento(PHP)商店系统的API端点。将来我计划将提供商与其他系统交换。
所以我的问题是:
MS被认为是可独立部署的'。据我所知,在JAVA的世界中,我们讨论的是一个JAR或WAR文件,但PHP服务如何可独立部署?
我的概念是否遵循MS架构的原则,因为提供商都是一个大型(Magento)系统的一部分?
感谢您的阅读。我对任何建议感到高兴。
答案 0 :(得分:9)
没有任何东西可以说你的架构不是MS架构只是因为你使用的是magento和PHP。但是,你必须考虑一些事情:
如果您的服务只是与magento紧密相关的转换/界面,您不能简单地在java / C#/ ruby中重写它们,那么我猜您没有MS架构。
对于PHP可部署工件,您通常会围绕服务制定一些打包或版本控制策略。即使PHP中的“部署”通常只是交换.php文件的文件夹。而且你不应该真正在不同的服务之间共享代码/配置。如果您想采取额外措施,甚至可以查看deployment tools for PHP。
答案 1 :(得分:1)
对于微服务架构,存在SRP原则。单一责任原则。每个服务都有自己独特的责任.DB方案也应该被分解。在单片应用程序中将服务作为休息,不将单片应用程序转换为微服务应用程序。