将 Web API 迁移到结构时的注意事项



我有一个现有的Web API 2项目,我希望将其迁移到Azure Service Fabric。我计划在 Fabric 中创建一个单一的无状态服务,详见此处(主要是因为我目前不了解参与者/服务!)并移动 API。

我的 API 使用实体框架作为其后端,并使用 OWIN 内置个人帐户。

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

谢谢

编辑

我对此有更多的

思考,并有更多的问题(基于@Mihail的评论)!

所以我

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

所以有两个问题:

  1. 我需要根据个人帐户对用户进行身份验证。我认为我应该在 Web API 前端执行此操作,以便只有经过身份验证的用户才能通过 Fabric 服务,但这意味着 API 可以访问数据库,它不再只是一个传递。可以吗?API 应该调用微服务进行身份验证,然后调用它所需的服务,还是矫枉过正?

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

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

不过,需要考虑的一件事是,如果你唯一拥有的是简单的 API,或者 Azure API 应用是否更适合你,那么 Service Fabric 是否适合此处。

如果使用 Service Fabric,则必须至少具有 5 个 VM,因此需要考虑应用是否需要 5 个 VM,或者这是否是矫枉过正。还要记住,您需要管理这些 VM - 您无法获得 PaaS 解决方案为您提供的魔力。您还必须处理从 API 应用程序中开箱即用的某些事情,例如自动缩放、身份验证、速率限制、与 SaaS 应用程序的集成等。可能值得查看此 SO 问题,以比较 Service Fabric 和应用服务。

最新更新