我有一个可以分解为多个通信服务的应用程序。我当前的实现是单片的,我想重新组织它,以便可以独立部署、迭代和扩展各个组件。我看到了两种使用 Azure 的方法:
- Service Fabric 服务由一组通信微服务(无状态、web-api 等)组成
- 在 http 端点相互调用的单个 Azure Web 应用程序/云服务的集合。
1比2有什么明显的优势吗?任何选择一个而不是另一个的经验法则也将非常有帮助。
我有一个可以分解为多个通信服务的应用程序。我当前的实现是单片的,我想重新组织它,以便可以独立部署、迭代和扩展各个组件。我看到了两种使用 Azure 的方法:
1比2有什么明显的优势吗?任何选择一个而不是另一个的经验法则也将非常有帮助。
我不能说比这更好了。
没有真正的经验法则。Service Fabric 可能看起来更复杂,但它提供了一些云服务/Web 应用程序没有的东西。
快速总结(取自提供的链接):
Service Fabric 本身是一个在 Windows 或 Linux 上运行的应用程序平台层,而云服务是一个用于部署 Azure 管理的带有工作负载的 VM 的系统。Service Fabric 应用程序模型具有许多优点:
彼得做了一个很好的总结。以下是我的补充观点:
云服务不是为微服务模式设计的,而 Service Fabric 是。如果您想享受微服务带来的好处,Service Fabric 是您的最佳选择。使用云服务,如果您想将您的应用程序分离为自治服务,您要么
Cloud Service 不支持跨区域/DC 部署,而 Service Fabric 支持。这意味着您可以将 DC 级别的灾难恢复转变为由 Service Fabric 自动处理的正常故障转移,请参阅此。