微服务和.NET

时间:2014-10-13 01:45:35

标签: .net microservices

如何在.NET世界中构建面向微服务的应用程序?是否有任何平台可以在.NET世界中编写面向微服务的应用程序?如何设想包含微服务,事件存储和一些NoSQL数据库的架构? 感谢。

5 个答案:

答案 0 :(得分:15)

关注this link以获取使用.NET框架,ASP.NET和RabbitMQ设置简单微服务框架的分步指南。

本教程从核心概念开始,实现了一个工作应用程序,并在大小和复杂性方面扩展了该应用程序,解决了每个步骤中典型的微服务问题。

答案 1 :(得分:12)

微服务是一种架构方法,而不是框架或一组库。但是在.Net世界中,您可以使用OWIN(Open Web Interface for .NET)为Web服务创建独立的流程。

您可以在以下位置查看实现自托管Web服务(不需要IIS)的示例:

http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

通过这种方式,您可以在一台或多台计算机上实现自助托管服务等微服务。数据库或事件源的类型取决于您的应用程序。

然后,您可以构建一些由您的应用程序查询的API Rest,用作访问的中心点,Facade模式,每个请求都将转向您的一个minions-microservices。

答案 2 :(得分:10)

Microsoft已发布Service Fabric,为您提供微服务平台。

它是Azure产品,但也可以在Windows Server 2016内部使用。

您可以在运行VS2015的开发计算机上安装Service Fabric,然后使用SDK进行试用。

答案 3 :(得分:3)

请看一下。请注意,这是一个热门话题,每天都在变化。目前,微服务的核心运动主要发生在Java世界。

http://blog.pivotal.io/pivotal/case-studies-2/tech-start-up-lessons-micro-services-architecture-with-net-and-rabbitmq

http://abdullin.com/post/how-micro-services-approach-worked-out-in-production/

答案 4 :(得分:3)

由于使用微服务时选择的协议是HTTP,我建议使用.NET Web API作为API层。由于微服务尊重SOA的4个租户,因此您需要确保每个服务都有自己的数据存储,并确保每个服务都有#34;可以独立部署。我想说,设置架构时最重要的方面是与API合同相关,因为每个服务都可以拥有它自己的实现。

.NET Web API + NServiceBusdo为基于微服务的架构提供了良好的基础。