我还不清楚Service Fabric如何允许部署。从在单个VS解决方案中创建的应用程序,让我尝试使用文件格式来更好地理解。在单个Visual Studio解决方案中,有
在我看到这些文件时,多个服务(.csproj文件)被绑定到单个Service Fabric应用程序(.sfproj文件),该应用程序位于单个解决方案文件(.sln文件)下。我可以单独将.csproj项目部署到Service Fabric集群,还是现在绑定到.sfproj,以便我必须一起部署多个服务(每个服务都使用.csproj创建并绑定到.sfproj)?
你的问题的答案是肯定的,而不是同时的答案。让我详细解释一下。
我可以单独将.csproj项目部署到Service Fabric集群
答案是否定您无法部署服务 - 在Service Fabric方面,最小的部署单位是应用程序(.sfproj)。因此,无论您有什么变化,您仍然需要部署应用程序。
但是我们都知道,执行所有应用程序服务的完全部署非常困难,会耗费大量时间并对集群造成很大的干扰。为了避免这种大规模更新,所有Service Fabric组件都有自己的版本(您可以仔细查看ServiceManifest.xml
和ApplicationManifest.xml
)。因此,每次将应用程序部署到集群时,Service Fabric都会遍历应用程序中包含的所有服务,并仅更新已更改的组件(即具有不同的版本)。
此方法允许您执行非常高的粒度更新,即您只能更新单个服务的<Config />
包。