azure - 将 Web API 迁移到 Fabric 时的注意事项

标签 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 是否应该调用微服务进行身份验证,然后调用它所需的服务,或者这是否太过分了?

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

最佳答案

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

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

如果您使用 Service Fabric,则必须至少拥有 5 个虚拟机,因此您需要考虑您的应用是否需要 5 个虚拟机,或者这是否会造成过度杀伤力。另请记住,您需要管理这些虚拟机 - 您无法获得 PaaS 解决方案所提供的魔力。您还必须处理 API 应用程序中开箱即用的某些事务,例如自动扩展、身份验证、速率限制、与 SaaS 应用程序集成等。可能值得看看这个 SO question Service Fabric 和应用服务之间的比较。

关于azure - 将 Web API 迁移到 Fabric 时的注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36040061/

相关文章:

docker - VS 2017 权限错误 : [Errno 13] Permission denied: 'v15\\Server\\sqlite3\\db.lock'

azure - 如何自动将数据从 CSV 文件加载到 Azure SQL

azure - 与 PowerShell 并行部署多个 ARM 模板

asp.net - Json.Net 反序列化 - Web API 和可空日期

rest - ASP.NET MVC 4 WebApi : Manually handle OData queries

c# - Microsoft Service Fabric 有状态服务无法启动

azure - Azure 负载均衡器的 ARM 模板部署失败 - Jenkins 未给出任何错误

azure - 有没有办法通过 URL 将文件上传到 Azure 存储帐户?

c# - 401 上的自定义 [授权] 消息

c# - 如何在 C# 中运行可变数量的并发参数化无限循环类型线程?