Service Fabric刚刚在build大会上宣布。我正在阅读关于它的稀少文档,我有一个问题。
我正在评估Service Fabric用于托管CRUD微服务,这些微服务目前是使用ASP.NET WebApi构建的。
Service Fabric是否专注于托管接收数据、处理数据并返回结果的小型功能片段,而不是托管CRUD WebApi类型的应用程序?
Service Fabric刚刚在build大会上宣布。我正在阅读关于它的稀少文档,我有一个问题。
我正在评估Service Fabric用于托管CRUD微服务,这些微服务目前是使用ASP.NET WebApi构建的。
Service Fabric是否专注于托管接收数据、处理数据并返回结果的小型功能片段,而不是托管CRUD WebApi类型的应用程序?
Service Fabric可以创建无状态和有状态微服务。
顾名思义,如果一个无状态服务实例所维护的状态丢失,那么如果该节点宕机,新的、全新的实例会在集群中的其他位置被重新创建。
有状态服务提供了持久化状态的能力,而不依赖于外部存储。在Reliable Collection中存储的任何数据都将自动复制到集群中的多个节点上,确保状态对故障具有韧性。
常见的模式是使用无状态服务作为面向客户端的应用程序网关,然后让该服务将流量定向到应用程序的分区状态服务中。这样可以将解决分区的工作隐藏起来,允许客户端以所有请求针对一个逻辑端点。
请查看WordCount示例以了解其工作原理的示例。WordCount.WebService无状态服务充当应用程序的前端。它只是根据传入的请求解析分区,然后将其发送出去。WordCount.Service有状态服务(基于单词的第一个字母进行分区),立即将这些传入的请求放在ReliableQueue中,然后在后台处理它们,并将结果存储在ReliableDictionary中。
有关详细信息,请参见可靠服务概述。
注意:目前向客户端公开WebAPI端点的最佳方式是在无状态服务中自托管OWIN服务器。ASP.NET 5项目也将很快得到支持。