52

谁能指导我了解何时应该创建 Azure Service Fabric 应用程序与 Azure App Service 应用程序?我有一个想要构建的应用程序,但无法确定是应该使用 Azure Service Fabric 还是 Azure App Service 来构建它。

4

5 回答 5

43

不幸的是,没有关于何时使用什么的官方指导。它们是两个独立的平台,遵循不同的开发范式。

应用服务将为您提供 Service Fabric 未提供的现成功能。诸如自动缩放、身份验证、速率限制、与 SaaS 应用程序集成等内容。其中一些或所有这些东西可能会逐渐出现在 Service Fabric 中,但我想说的是,目前它们针对的是不同的受众——a经验不足的团队可能会发现使用应用服务更容易。

另一方面,Service Fabric 使部件的组合更容易。例如,在“传统”方法中,如果您有一个与数据存储和缓存对话的 API 以避免破坏数据存储,则您必须处理各种容错场景。使用 Service Fabric,您的缓存可以位于 API 进程中的可靠集合中,您无需处理外部缓存组件。数据与服务位于同一位置(检索/编辑速度更快!)并且是可靠的,因为它分布在服务部署到的所有节点上。与队列类似的事情。如果您想到一个工作流类型的系统,其中有一个 API、一个作业服务和一个位于它们之间并允许它们通信的队列,那么您必须管理 3 个不同的组件以及它们之间的通信。使用 Service Fabric,队列进入应用程序。这只是其中的一半 :) 您还可以使用 Actor 模型进行分布式计算,而不会遇到通常的并发问题。最后,使用 Service Fabric,您可以获得在本地机器上拥有更完整的开发环境的好处 - 您不必处理在 Azure 开发帐户或类似的任何东西上创建队列等。

还值得注意的是,没有什么能阻止您使用这两种范式 - 想象两个应用程序,其中至少一个是服务结构应用程序,它公开 API 和位于其之上的逻辑应用程序。

您的决定应基于您要构建的内容、时间、要发布的时间(Service Fabric 目前仅提供私人预览版,因此需要一段时间才能发布 GA)以及什么样的版本你拥有的团队。我想,即使您没有经验丰富的团队,使用 App Service 也可以轻松上手,但 Service Fabric 将为您提供更多功能、灵活性和控制力。

于 2015-07-01T10:01:47.053 回答
32

Microsoft 创建了该文档,其中比较了 Azure 应用服务、虚拟机、Service Fabric 和云服务。此外,您可能会发现此决策树很有帮助。

于 2017-05-14T15:26:25.567 回答
4

应用服务是一种更托管的服务,SF 更多的是你自己管理,你也可以在自己的场所运行。SF 更好地支持非 MS 堆栈开发,例如本机应用程序等。

正如该文档所述,“如果您要创建新应用或重写现有应用以使用微服务架构,Service Fabric 是一个不错的选择。”

如果您托管一些应用程序,您不应该查看 SF,另一方面,如果您部署超过 10 个服务,那么它会成为一个更好的解决方案。

另请注意,SF 具有包含在服务中的数据存储机制。它擅长 3 件事 1)海量数据集群 2)简单数据,通常在 Micros 服务中 数据库成为沉重的负担,因为每个服务都应该有自己的数据,而当你只有 1-3 个表时,像 SQL 这样的东西有点矫枉过正。3) Actor 编程模型的状态存储。

我认为 SF 和 Web 应用程序将在未来分割“云服务”用户群。

于 2017-05-27T13:20:53.060 回答
1

如果(应用程序将来可能需要扩展 || 想要构建具有微服务架构的应用程序)去 Azure Service Fabric

否则 Azure 应用服务没问题

于 2019-01-21T13:29:54.583 回答
0

当您需要对底层基础架构进行更多控制或直接访问时,请使用 Service Fabric。

当您的 Web 应用需要完全托管的托管平台时,请使用应用服务。

- 根据文档

于 2018-11-29T09:08:14.563 回答