【问题标题】:When we say our ASP.NET core Web API is a Microservice? [closed]当我们说我们的 ASP.NET 核心 Web API 是一个微服务时? [关闭]
【发布时间】:2020-05-12 17:47:03
【问题描述】:

场景 1:我在 ASP.NET Core 框架中构建了一个 Web API,并部署在 Service Fabric 集群中。它会被归入微服务的范畴吗?

场景 2:我开发了一个 Web API 中间层,构建在 ASP.NET Core 中,部署在 Service Fabric 集群中。它作为一些 UI 和第三方的中间层。我的 API 会属于微服务类别吗?

【问题讨论】:

  • 从这里开始,我会说看看你所拥有的是否符合微服务的定义:microservices.io
  • Microservice 是一个时尚术语。它曾经被称为 SOA,直到该名称被供应商颠覆。事实上,维基百科称之为a variant of SOA。松散耦合、可独立部署、有界上下文、隔离开发等是所有 SOA 的核心概念
  • @AndreiDragotoniu 这也是对 SOA 的描述
  • SOA 和微服务之间的真正区别在于偏好更小的服务规模和使用更新的协议。它与您使用的堆栈或部署环境无关。你有多个服务吗?它们可以独立开发和部署吗?它们是否相互隔离,即使在数据级别也是如此?他们是否在做一项具体的、定义明确的工作,即他们是否有界?

标签: azure asp.net-web-api microservices asp.net-core-webapi


【解决方案1】:

场景 1:取决于服务的功能。使服务成为微服务的技术并没有任何内在的东西。你基本上会问“如果我的车有 4 个轮子,它是否被归类为出租车”。

场景 2:与场景 1 相同。它也可以是一个完整的服务。

【讨论】:

  • 反对者,您可能想complain to Wikipedia for its entry on Microservices。任何了解微服务真正含义的人都明白这是唯一的答案。
  • @PanagiotisKanavos 好吧,我怀疑投票者对整个答案可以总结为“取决于”这一事实更感兴趣。虽然 imo 不值得一票。
  • @DavidG 问题在于问题本身提出了错误的问题。这甚至不是 OP 的错,而是因为营销炒作希望一切都成为“微服务”
  • @PanagiotisKanavos 确实,这就是为什么我投票结束这个问题但也没有否决。
【解决方案2】:

我完全同意@TomTom。

我们需要了解 API微服务之间的区别。

API:一组用于构建软件的子程序定义、通信协议和工具。一般而言,它是一组明确定义的各种组件之间的通信方法。

微服务:一种软件开发技术——面向服务架构 (SOA) 架构风格的一种变体,它将应用程序构建为松散耦合服务的集合。在微服务架构中,服务是细粒度的,协议是轻量级的。

Now, the answer to your question:

默认情况下,您在 Azure Service Fabric 上部署的任何内容都不会成为微服务。这完全取决于您的用例如何划分为多个单独且独立的组件,这些组件相互交互或使用公认的协议和预定义的合同共享数据。

Azure Service Fabric 是一种平台即服务 (PaaS) 产品,旨在促进 Microsoft Azure 云平台的高度可扩展和可定制的应用程序的开发、部署和管理。

【讨论】:

    猜你喜欢
    • 2019-09-13
    • 1970-01-01
    • 2020-06-20
    • 2019-04-07
    • 2020-12-31
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多