将Web API移动到Fabric

时间:2016-03-16 15:26:22

标签: azure asp.net-web-api azure-service-fabric

我有一个现有的Web API 2项目,我正在寻求转移到Azure Service Fabric。我正计划在Fabric中创建一个单独的无状态服务,如详细here(主要是因为我目前不了解演员/服务!)并移动API。

我的API使用Entity Framework作为后端,使用内置的个人帐户使用OWIN。

在移动服务时我需要考虑什么(我主要认为数据库和身份验证可能是一个问题),还是只是将Service Fabric层放在最上面?

由于

修改

我对此有了更多的想法,还有一些问题(基于@Mihail的评论)!

所以我将有许多无状态服务(所以我将我的Web API项目拆分),这将通过Web API项目公开(基于this

真的有两个问题:

  1. 我需要根据个人帐户对用户进行身份验证。我认为我应该在Web API前端执行此操作,因此只有经过身份验证的用户才能访问Fabric服务,但这意味着API可以访问数据库,而且不仅仅是通过了。这个可以吗? API是否应该调用微服务进行身份验证,然后调用它需要的服务,或者这是否过度?

    1. 实体框架。如果我有许多服务(和API前端)访问同一个数据库,我是否需要担心并发连接/锁定,或者实体框架是否会为我处理这个问题?

1 个答案:

答案 0 :(得分:-1)

正如Mihail所说,围绕实体框架和身份验证的问题应该不是问题,或者至少不是Service Fabric特定的问题。

有一点需要考虑的是,如果您唯一拥有的是一个简单的API,或者Azure API app是否更适合您,那么Service Fabric是否合适。

如果您使用Service Fabric,则必须至少拥有5个虚拟机,因此您需要考虑您的应用是否需要5个虚拟机,或者这是否过度杀伤。还要记住,您需要管理这些虚拟机 - 您不会获得PaaS解决方案给您带来的魔力。您还必须处理从API应用程序开箱即用的某些事项,例如自动扩展,身份验证,速率限制,与SaaS应用程序的集成等。可能值得一看在此SO question处,以便在Service Fabric和App Service之间进行比较。