Service Fabric微服务的优点与Azure云服务/ Web应用程序的集合

问题描述 投票:4回答:2

我有一个可以分解为多个通信服务的应用程序。我当前的实现是单片的,我想重新组织它,以便可以独立地部署,迭代和扩展各个组件。我在Azure中看到了两种方法:

  1. Service Fabric服务由一组通信微服务组成(无状态,web-api等)
  2. 一组Azure Web Apps / Cloud Services,它们在http端点互相呼叫。

1比2有明显优势吗?选择一个而不是另一个的任何经验法则也会非常有帮助。

azure microservices azure-service-fabric azure-cloud-services azure-appfabric
2个回答
15
投票

我认为这个页面比较好:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cloud-services-migration-differences/

我不能说比这更好。

实际上没有经验法则。 Service Fabric可能看起来更复杂,但提供了云服务/ Web应用程序不具备的一些功能。

快速摘要(摘自提供的链接):

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

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

1
投票

彼得做了一个很棒的总结。以下是我的补充要点:

  1. Cloud Service不是为微服务模式而设计的,而Service Fabric则是。如果您想享受微服务带来的好处,Service Fabric是您的最佳选择。使用Cloud Service,如果您希望将应用程序分离为自治服务,您也可以 创建多个云服务。由于没有针对一组云服务的统一接口,因此难以监控和管理,云服务并非针对此模式而设计。 或者将多个角色添加到单个云服务中,这将导致a)膨胀的云服务配置文件,因为所有服务配置都在一个配置文件中;和b)升级单个角色,最终重新部署整个云服务!
  2. Service Service不支持跨区域/ DC部署,而Service Fabric则支持跨区域/ DC部署。这意味着您可以将DC级灾难恢复转换为正常的故障转移,由Service Fabric自动处理,请参阅this
© www.soinside.com 2019 - 2024. All rights reserved.