什么是微服务,和MVC有关系吗

What is Microservices and is there a connection with MVC

我熟悉 spring 启动框架,我开发了一个应用程序来帮助处理在线 Assignments.I 使用很少的服务 类 来处理应用程序及其结构的不同任务可以在这里看到。

而且我已经看到几个复杂的应用程序根据它在应用程序中执行的任务构建为独立的包。

(1) 我的第一个问题是我的应用程序可以称为微服务应用程序吗?因为我有 使用独立服务进行应用程序开发。

(2) 我的第二个问题是在 MicroServices 架构中开发的应用程序是否可以同时具有 MVC 架构 time.But 我在几个教程中看到它们是 2 个不同的 architectures.But Moicroservices 应用程序也有模型,视图和控制器同时.

那这两个可以同时用吗??

谢谢!!

你应该自己对微服务的概念和理论做一些更深入的研究。在没有基本知识的情况下研究其他应用程序可能会产生误导。

(1) 仅仅因为您正在使用多个 类 调用的服务并不意味着您正在构建微服务应用程序。微服务应用示例可以是 - 学生管理 rest api、问答管理 rest api、UI 用于管理、UI 用于 public 用法等。所有它们可以是单独的 spring 引导应用程序,或任何其他能够处理要求的技术(node.js、python、php、Asp.net ...)应该能够将它们作为单独的独立应用程序进行部署、测试和使用。

(2)我认为微服务app不需要视图,它可以是rest/soapapp,日志聚合app,健康检查app,消息服务app等。但是不同的类型可以使用不同的架构,其中之一可以是 MVC。

definition of M. Fowler 微服务是

..an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

如您所见,定义含糊不清。我认为您正在构建一个单体应用程序,将职责很好地分离到 类 中,称为 XyServices - 可能是迁移到微服务的候选者。

Chris Richardson 的微服务 (公认的微服务思想领袖)是微服务——也称为微服务架构——是一种将应用程序构建为服务集合的架构风格

高度可维护和可测试 松耦合 可独立部署 围绕业务能力组织 由一个小团队拥有 微服务架构支持快速、频繁和可靠地交付大型、复杂的应用程序。它还使组织能够发展其技术堆栈。

这是交付方式,基于 12 个因素 https://12factor.net/。 我们使用领域驱动设计作为其中一种方式。

MVC 是将模型视图和控制器设计为服务的方式。

在微服务架构中,我们可以以一种方式使用 MVC,其中每个组件都将被分发。

请仔细阅读微服务模式。很好的理解微服务架构的书

1.Answer 对于您的问题是的,如果您的应用程序遵循网站中提到的 12 个因素,则它可以是微服务。

  1. 是的,微服务可以采用 mvc 模式,但它们将是分布式的,就像我们以类似的方式为后端提供微服务一样,我们为 UI 提供微前端。