【问题标题】:Microservices using .net Framework 4 and above ( instead of .NET Core)使用 .net Framework 4 及更高版本(而不是 .NET Core)的微服务
【发布时间】:2019-11-14 17:33:15
【问题描述】:

我是一名 .net 开发人员,正在尝试学习使用 .NET Framework >4.0 实现微服务。
我从互联网搜索中引用的所有文章,都在谈论使用 .NET Core 实现微服务。但我想知道,我找不到任何说明如何使用 .NET Framework >4.0 开发微服务的文章。

我知道 .net 核心具有微服务的所有功能和运行时间,但我的问题如下 问题 - 1. 根本不可能使用.NET 框架开发微服务吗?如果不是,那么所有的约束和限制是什么? 2. 如果我们只选择.NET Framework 来开发面向微服务的架构,有哪些替代方案 3.任何示例/示例代码都会有所帮助

谢谢

【问题讨论】:

  • 微服务只是一套架构原则。它不依赖于用于实现这些原则的语言。
  • 可以使用 ASP.Net Web API 实现 ASP.Net (.Net Framework) 中的微服务,使用 HttpClient 向它发起请求。

标签: asp.net .net .net-core microservices .net-framework-version


【解决方案1】:

正如 cmets 中提到的,微服务 (MS) 不受任何语言的约束,它是一种架构原则。

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

https://en.wikipedia.org/wiki/Microservices

您可以使用任何语言和各种平台解决方案构建 MS/SOA,但某些实现当然也存在缺陷。

您所要做的就是定义一个小型服务 A 和另一个小型服务 B 作为您的系统,通过轻量级 REST API(甚至可能是 gRPC)公开数据并让它们相互通信 - 瞧!你有你的 MS 系统。

但是为什么是例如微软推动将 .NET Core 用于 MS 系统?我最好的猜测是通过 Docker(和其他容器解决方案)将每个 MS 容器化。 .NET Core 和 .NET Framework 在这方面的区别在于容器化,.NET Core 可以在所有平台上运行,例如 linux - 并且 docker 支持 linux 容器。

在计算中,自包含系统 (SCS) 是一种软件架构 专注于将功能分离为多个 独立的系统,使完整的逻辑系统 许多小型软件系统的协作

https://en.wikipedia.org/wiki/Self-contained_system_(software)

为什么 linux 容器很重要?好吧,我会争论是因为 Kubernetes(或其他容器编排工具)。

Kubernetes(通常风格化为 k8s)是一个开源的 用于自动化应用程序部署的容器编排系统, 扩展和管理。它最初是由谷歌设计的,并且 现在由云原生计算基金会维护。它旨在 提供“用于自动化部署、扩展和操作的平台 跨主机集群的应用程序容器”。它适用于 一系列容器工具,包括 Docker。许多云服务 提供基于 Kubernetes 的平台或基础设施即服务(PaaS 或 IaaS),Kubernetes 可以在其上部署为提供平台的平台 服务。许多供应商还提供自己品牌的 Kubernetes 分布。

https://en.wikipedia.org/wiki/Kubernetes

Kubernetes 是一个非常强大的容器编排系统。我无法随意扩展松散耦合的 MS linux 容器 - 等等。

现在,我建议您继续阅读,这是一个好的开始:

阅读

源代码

视频

【讨论】:

  • 非常感谢 Henkolicious 分享所有这些细节。它肯定会帮助我学习面向 MS 的架构
  • @Sam K 不用担心,如果您需要任何说明,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 2020-12-25
相关资源
最近更新 更多