如何解决Azure Service Fabric 应用程序 - 主机名和主机 IP 地址
如何从 Azure 服务结构应用程序获取为当前请求提供服务的节点的主机名和主机 IP 地址?请提出建议。
解决方法
这些 environment variables 由 SF 提供:
-
Fabric_NodeIPOrFQDN
- 节点的 IP 或 FQDN,如集群清单文件中所指定。 (例如本地主机或 10.0.0.1) -
Fabric_NodeName
- 运行进程的节点的节点名称(例如 _Node_0)
假设您使用的是 C#,您可以通过 using Environment.GetEnvironmentVariable
除了使用环境变量,您还可以使用 StatelessServiceContext 类。它有一个 NodeContext
属性,其中包含几个有趣的 properties。在您的服务中,您可以像这样获取 fqdn/ip 地址:
var address = Context.NodeContext.IPAddressOrFQDN;
Afaik 节点名称与机器名称无关,它是一个逻辑名称。节点名称可以是用户定义的名称。我认为 Environment.MachineName
或 Context.NodeContext.IPAddressOrFQDN
是最准确的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。