【发布时间】:2016-09-30 18:16:32
【问题描述】:
我需要帮助来考虑如何设计我们的应用程序以适应新的 Azure Service Fabric 模板。
今天我们有一个基于 Azure 云服务构建的应用程序。该应用程序是围绕 DDD 构建的,我们为应用程序的不同子系统部分提供了单独的有界上下文。如今,有界上下文托管在一个工作角色中,该角色使用单个 WebAPI 公开这些子系统。
此外,我们还有一个 Web 角色托管 Web 前端,一个工作角色处理后台队列。
我们努力转向微服务架构。我计划做的第一件事是将所有有界上下文提取到它们自己的 API 主机中。这将导致 5-10 个新的 WebAPI 服务支持我们的子系统。
对于我的问题,所有这些子系统/有界上下文/API 主机应该是它们自己的 Service Fabric 应用程序还是单个 Service Fabric 应用程序中的服务?
我一遍又一遍地阅读文档,在此处找到 Service Fabric Application Model,但我无法弄清楚我的服务适合哪里。
我们希望系统能够支持不同版本的服务,并且服务也应该能够以不同的方式扩展。甚至可能需要让一个微服务在比其他服务更大的 VM 中运行。
请有人指导我适合我的需要。
【问题讨论】:
-
如果你想独立升级部分,它们应该都是应用程序。至于如何构建您的应用程序,这实际上取决于您的个人需求。确保设置分区方案以应对未来的增长。使用 SF,您可以将所有分区放在少数机器上,然后随着您的增长将它们分散开来,而不是在以后添加更多分区。
标签: azure architecture asp.net-web-api2 azure-service-fabric