我的概念是否遵循微服务架构?
Does my concept follow a Microservice architecture?
我在 Martin Fowler 的页面上阅读 the article on Microservices 并发现它很有趣。现在我计划构建一个电子商务 Web 应用程序作为概念验证,我想知道我的概念是否被认为是微服务架构。
架构由 3 个组件组成:
- 一个基于javascript的单页应用程序,它向
发送AJAX个请求
- 带有 REST API 的服务器提供 JSON 通过调用其他服务接收到的数据(我想你称此行为为 API 网关)
- 3 项服务:CatalogProvider、CustomersProvider、CheckoutProvider
目前所有服务都是 Magento (PHP) 商店系统的 API 端点。将来我计划将供应商与其他系统交换。
所以我的问题是:
MS 被认为是 'independently deployable'。我知道在 JAVA 的世界里,我们谈论的是一个 JAR 或 WAR 文件,但是 PHP 服务如何 'independently deployable'?
我的概念是否不遵循 MS 架构的原则,因为提供程序都是一个大 (Magento) 系统的一部分?
感谢您的阅读。我很乐意提出任何建议。
没有什么可以说您的架构不是 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 服务作为单体应用程序中的其余部分不转换从单体应用到微服务应用。
我在 Martin Fowler 的页面上阅读 the article on Microservices 并发现它很有趣。现在我计划构建一个电子商务 Web 应用程序作为概念验证,我想知道我的概念是否被认为是微服务架构。
架构由 3 个组件组成:
- 一个基于javascript的单页应用程序,它向 发送AJAX个请求
- 带有 REST API 的服务器提供 JSON 通过调用其他服务接收到的数据(我想你称此行为为 API 网关)
- 3 项服务:CatalogProvider、CustomersProvider、CheckoutProvider
目前所有服务都是 Magento (PHP) 商店系统的 API 端点。将来我计划将供应商与其他系统交换。
所以我的问题是:
MS 被认为是 'independently deployable'。我知道在 JAVA 的世界里,我们谈论的是一个 JAR 或 WAR 文件,但是 PHP 服务如何 'independently deployable'?
我的概念是否不遵循 MS 架构的原则,因为提供程序都是一个大 (Magento) 系统的一部分?
感谢您的阅读。我很乐意提出任何建议。
没有什么可以说您的架构不是 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 服务作为单体应用程序中的其余部分不转换从单体应用到微服务应用。