我的概念是否遵循微服务架构?

Rou*_*beh 5 php soa magento single-page-application microservices

我在Martin Fowler的页面上阅读了关于微服务的文章,发现它非常有趣.现在我计划构建一个电子商务Web应用程序作为概念验证,我想知道我的概念是否被认为是微服务架构.

该架构由3个组件组成:

  • 一个基于javascript的单页面应用程序,它发送AJAX请求
  • 一个带有REST API的服务器,它通过调用其他服务来提供接收的JSON数据(我认为你称之为这种行为API网关)
  • 3项服务:CatalogProvider,CustomersProvider,CheckoutProvider

目前,服务都是Magento(PHP)商店系统的API端点.将来我计划将提供商与其他系统交换.

所以我的问题是:

  • MS被认为是"可独立部署的".我知道在JAVA的世界中我们谈论的是一个JAR或WAR文件,但PHP服务如何"可独立部署"?

  • 我的概念是否遵循MS架构的原则,因为提供商都是一个大型(Magento)系统的一部分?

谢谢你的阅读.我很高兴有任何建议.

Pet*_*der 9

没有什么能说你的架构不是MS架构只是因为你使用的是magento和PHP.但是,你必须考虑以下几点:

  • 考虑到始终能够以任何语言重写任何服务并部署在整个系统应该继续工作的某个地方.

如果您的服务只是与magento紧密相关的转换/接口,并且您不能简单地在java/C#/ ruby​​中重写它们,那么我猜您没有MS架构.

对于PHP可部署工件,您通常在服务周围有一些打包或版本控制策略.即使PHP中的"部署"通常只是交换.php文件的文件夹.而且你不应该真正在不同的服务之间共享代码/配置.如果您想采取额外步骤,甚至可以查看PHP的部署工具.