如何在 .NET 世界中构建面向微服务的应用程序?有没有我们可以在 .NET 世界中编写面向微服务的应用程序的平台?如何构想包含微服务、事件存储和一些 NoSQL 数据库的架构?谢谢。
5 回答
按照此链接获取使用 .NET 框架、ASP.NET 和 RabbitMQ 设置简单微服务框架的分步指南。
本教程从核心概念开始,实现一个工作应用程序,并根据大小和复杂性扩展该应用程序,在每个步骤中解决典型的微服务问题。
微服务更像是一种架构方法,而不是框架或一组库。但是在 .Net 世界中,您可以使用 OWIN(.NET 的开放式 Web 界面)为 Web 服务创建独立的进程。
您可以在以下位置查看实现自托管 Web 服务(不需要 IIS)的示例:
http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api
这样,您就可以在一台或多台机器上实现微服务,例如自托管服务。数据库或事件源的类型取决于您的应用程序。
然后,您可以构建一些由您的应用程序查询的 API Rest,用作访问中心点、外观模式,每个请求都将转向您的一个 minions-microservices。
Microsoft 发布了Service Fabric,它为您提供了一个微服务平台。
它是 Azure 产品,但也将在Windows Server 2016中提供。
请看一看。请注意,这是一个热门话题,并且每天都在变化。目前,微服务的核心运动主要发生在 Java 世界中。
http://abdullin.com/post/how-micro-services-approach-worked-out-in-production/
由于使用微服务时选择的协议是 HTTP,因此我建议将 .NET Web API 用于 API 层。由于微服务尊重 SOA 的 4 个租户,因此您需要确保每个服务都有自己的数据存储,并且每个“服务”都可以独立部署。我想说,建立架构时最重要的方面与 API 合同有关,因为每个服务都可以有自己的实现。
.NET Web API + NServiceBusdo 为基于微服务的架构提供了良好的基础。