Azure 云服务中的服务定义与服务配置

service definition vs service configuration in Azure cloud services

有人知道这两者有什么区别吗?我看过但似乎找不到一个页面清楚地描述了它们的不同之处。微软对他们两个的解释很含糊

Definition documentation

The file contains the definitions for the roles that are available to a cloud service, specifies the service endpoints, and establishes configuration settings for the service.

Configuration documentation

specifies the number of role instances to deploy for each role in the service, the values of any configuration settings, and the thumbprints for any certificates associated with a role

您为服务定义文件 (*.csdef) 包含的 link 中的第一行非常重要 - The service definition file defines the service model for an application.

如您所知,Cloud ServicesStateless PaaS Services,只需将服务定义文件告诉 Azure Fabric 控制器应如何为您创建和配置 VM。例如,InputEndpoints 定义了必须在防火墙中打开以允许传入流量的端口。另一个示例是 vmsize 元素,它告诉 Fabric 控制器创建一个特定大小(小型、中型等)的 VM 来托管您的角色。

服务配置文件 (*.cscfg) 可以被认为是 web.configapp.config 等同于您的角色(Web 和 Worker)。这是您定义应用程序设置的地方。

这两个文件之间的一个主要区别是 csdef 文件包含在部署的包中,因此如果您必须对 csdef 文件进行任何更改(例如 VM 大小),您将需要重新部署代码。 cscfg 文件随包一起部署,您可以即时更改设置,而无需重新部署代码。因此,如果您有一个设置并且想要更改该设置的值,您可以简单地在门户网站上(或其他方式)进行更改,而无需重新部署您的代码。请注意,配置设置元素名称也存储在 csdef 文件中,因此您无法在 cscfg 文件中添加或删除设置。您必须从 cscfg 和 csdef 文件中 add/remove 它。