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

Does my concept follow a Microservice architecture?

我在 Martin Fowler 的页面上阅读 the article on Microservices 并发现它很有趣。现在我计划构建一个电子商务 Web 应用程序作为概念验证,我想知道我的概念是否被认为是微服务架构。

架构由 3 个组件组成:

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

所以我的问题是:

感谢您的阅读。我很乐意提出任何建议。

没有什么可以说您的架构不是 MS 架构只是因为您使用的是 magento 和 PHP。但是,你必须考虑一些事情:

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

如果您的服务只是 transformation/interface 与 magento 的链接非常紧密并且您不能简单地在 java/C#/ruby 中轻松地重写它们,那么我猜您没有 MS架构。

对于 PHP 可部署工件,您通常有一些围绕服务的打包或版本控制策略。尽管 "deploy" in PHP 通常只是交换 .php 文件的文件夹。而且你不应该在不同的服务之间真正共享 code/config。如果您想采取额外的步骤,您甚至可以查看 deployment tools for PHP

关于微服务架构,有 SRP principle.Single 责任 principle.Each 服务有自己独特的 responsiplity.DB 方案应该被分解 also.Exporting 服务作为单体应用程序中的其余部分不转换从单体应用到微服务应用。