Azure Service Fabric 应用程序 - 主机名和主机 IP 地址

Azure Service Fabric application - hostname and host IP address

如何从 Azure 服务结构应用程序获取为当前请求提供服务的节点的主机名和主机 IP 地址?请提出建议。

顺丰提供这些environment variables

  • Fabric_NodeIPOrFQDN - 节点的 IP 或 FQDN,如集群清单文件中所指定。 (例如本地主机或 10.0.0.1)
  • Fabric_NodeName - 节点的节点名称 运行 进程(例如 _Node_0)

假设您使用的是 C#,您可以通过 using Environment.GetEnvironmentVariable

获取环境变量

除此之外,您还可以使用环境变量 StatelessServiceContext class. It has a NodeContext property containing several interesting properties。在您的服务中,您可以获得这样的 fqdn/ip 地址:

var address = Context.NodeContext.IPAddressOrFQDN;

请注意,节点名称与机器名称无关,它是一个逻辑名称。节点名称可以是用户定义的名称。我会说 Environment.MachineNameContext.NodeContext.IPAddressOrFQDN 是最准确的。