与 Cloud Service Worker 角色相比,使用 Service Fabric 无状态服务有哪些优势?

What are the advantages of using a Service Fabric stateless service over a Cloud Service Worker Role?

我正在尝试了解使用 Service Fabric 相对于云服务工作者角色的优势。

目前,我正在使用云服务进行托管(网络角色和工作者角色)。

如果我将云服务更改为用于托管 Web 角色的 App Service Web 应用程序和用于托管辅助角色的 Service Fabric 无状态服务,是否会有任何优势?如果有,有什么优势?

Service Fabric 本身是 运行 在 Windows 或 Linux 上的应用程序平台层,而云服务是一个用于部署 Azure 管理的 VM 并附加工作负载的系统。 Service Fabric 应用程序模型具有许多优点:

  • 快速部署。创建 VM 实例可能非常耗时。在 Service Fabric 中,VM 只部署一次,形成一个集群来托管 Service Fabric 应用程序平台。从那时起,应用程序包可以非常快速地部署到集群中。
  • 高密度托管。在云服务中,一个辅助角色 VM 承载一个工作负载。在 Service Fabric 中,应用程序与 运行 它们所在的 VM 是分开的,这意味着您可以将大量应用程序部署到少量 VM 上,这可以降低大型部署的总体成本。
  • Service Fabric 平台可以 运行 任何拥有 Windows 服务器或 Linux 机器的地方,无论是 Azure 还是本地。该平台在底层基础设施上提供了一个抽象层,因此您的应用程序可以 运行 在不同的环境中。
  • 分布式应用程序管理。 Service Fabric 是一个平台,不仅可以托管分布式应用程序,还可以独立于托管 VM 或机器生命周期帮助管理它们的生命周期。

详情请参考“Learn about the differences between Cloud Services and Service Fabric before migrating applications”。

article 可帮助您了解选项并为您的 Web 应用程序做出正确的选择。

正如@PRADEEP CHEEKATLA 所说,Service Fabric 本身是一个 应用程序平台层 ,在 Windows 或 Linux 上运行,而云服务是 system 用于部署附加工作负载的 Azure 管理的 VM。

In Cloud Services, a Worker Role VM hosts one workload. In Service Fabric, applications are separate from the VMs that run them, meaning you can deploy a large number of applications to a small number of VMs, which can lower overall cost for larger deployments.

并且 key difference between Service Fabric and Cloud Services 是在 Cloud Services 中连接到 VM,而在 Service Fabric 中连接到服务.

这是一个重要的区别,原因如下:

Service Fabric 中的

1.Services 未绑定到托管它们的 VM;服务可能会在集群中四处移动,事实上,由于各种原因预计会四处移动:资源平衡、故障转移、应用程序和基础设施升级,以及放置或负载限制。这意味着服务实例的地址可以随时更改。

2.A Service Fabric 中的 VM 可以托管多个服务,每个服务都有唯一的终结点。

这里是comparing Cloud Services with Service Fabric

另外,您可以参考这篇文章converting Web and Worker Roles to Service Fabric stateless services