应用研发平台EMAS服务ip怎么获取?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要获取应用研发平台 EMAS 的服务 IP 地址,您可以按照以下步骤操作。这些步骤适用于不希望集成官方 SDK 的场景,而是通过 HTTPDNS 提供的 HTTP API 自行实现域名解析的情况。
在应用中内置一份默认的 HTTPDNS 启动 IP 地址列表。这些启动 IP 是调度服务的入口,用于获取最新的服务 IP 地址列表。
重要提示: - 启动 IP 应写死在 App 中,以确保服务可用性。 - 阿里云会提供多个启动 IP,建议至少准备 2-3 个备用 IP,以便在请求失败时切换使用。
通过启动 IP 调用调度接口,动态获取最近且健康的服务节点 IP 地址列表。调度接口的具体说明如下:
https://{启动IP}/{account_id}/ss
{启动IP}
:从内置的启动 IP 列表中选择一个 IP 或域名。{account_id}
:您的 HTTPDNS 服务专属 ID,可在 HTTPDNS 控制台获取。为了支持异常排查,可以添加以下可选参数: - sid
:sessionId,长度为 12 位,用于标记一次独立的 App 生命周期。 - net
:网络类型(如 5g、4g、wifi 等)。 - bssid
:WiFi 环境的 bssid,用于标记不同的 WiFi 网络。
从调度接口返回的服务 IP 地址列表中,选择一个 IP 地址调用解析服务接口,完成域名解析。
注意: - 建议使用 IP 池轮转机制,当某个 IP 访问失败时,自动切换到下一个 IP 进行重试。
为了保证服务 IP 列表的有效性,建议在以下场景中主动更新服务 IP 列表: - App 冷启动时:每次应用启动时调用调度接口更新服务 IP 列表。 - 网络环境切换时:当用户切换网络(如从 Wi-Fi 切换到移动数据)时,重新获取服务 IP 列表。 - 定时更新:每 8 小时至少更新一次服务 IP 列表。 - 解析失败时:如果当前服务 IP 列表中的所有 IP 都无法解析,立即调用调度接口获取新的服务 IP 列表。
如果所有 HTTPDNS 服务 IP 均不可用,建议降级使用 Local DNS(即操作系统原生 DNS 链路)。
示例代码: - Android 端(OkHttp 网络库):
List<InetAddress> result = okhttp3.Dns.SYSTEM.lookup(host);
通过以上步骤,您可以高效地获取并维护 EMAS 的服务 IP 地址列表,从而保障域名解析的稳定性和高可用性。