接口域名容错选型-ADR

 

 

背景

问题清单

1、由于联通运营商DNS问题,引发阿里云CDN故障导致我站接口主域名接口返回502,影响用户体验,影响SLA。

2、来自运营商封禁业务域名,导致区域用户域名无法访问,影响用户体验(只有接口域名被封禁概率低);

 

选项分析

选项

优点

缺点

双域名+本地缓存

App内置主域名和备用域名,优先尝试主域名,失败后尝试备用域名)

1、操作简单,代码逻辑处理简单;

2、能够切域名解决运营商区域封禁问题

1、需要维护多套域名解析

2、降级时响应变慢用户体验差;

配置中心动态下发

(App启动时请求配置中心获取最新接口地址,配置变更后可通过静默推送或下次启动生效)

1、灵活配置,随机可更变

2、可实现区域下发

3、能够切域名解决运营商区域封禁问题

1、需要维护多套域名解析

2、需要研发一套配置系统

3、投入人力开发

4、轮询或长连接;

DNS over HTTPS(DoH)

(是一种通过 HTTPS 协议进行 DNS 查询的技术。它旨在解决传统 DNS 查询中存在的安全性和隐私问题。)

1、云厂商提供了DoH服务

2、避免DNS劫持

3、本地缓存减少请求延迟

4、安全性较高

5、支持区域解析

6、支持备用域名方案(需做客户端适配)

1、性能加解密过程,导致DNS延迟增加

(耗时较传统 DNS 协议增加约 30%-50%);

2、集中化风险,dns服务挂,业务接口挂;

3、兼容性,网络设备可能不支持;

4、当业务域名运营商被封无法解决

5、防止DNS劫持

DoT

(DoT,即 DNS over TLS,是通过传输层安全协议(TLS)来加密并打包域名系统的安全协议。)

4、安全性较高

2、避免DNS劫持

1、兼容性 主流浏览器对 DoT 的支持相对较少

阿里云EMAS 的HTTPDNS(含DoH)服务

1、支持自定义解析,可根据业务策略按照运营商和地域两个维度提供更自主可控的流量调度能力

2、SDK支持android、ios、harmonyOS、http、electron

3、解析周期通过域名TTL配置;

决策

1、HTTPDNS 能够快速解析,解决改DNS解析需求,但局限于api域名(无法解决运营商封禁业务域名),对h5和www域名无作用;

2、备用业务域名能够解决运营商封禁域名问题,比如h5、www多个备用域名来应对运营商封禁;

3、DCDN网络故障,绕过CDN的备用域名可解决;

综合上述情况,选择备用业务域名解决运营商封禁;DCDN问题无法通过HTTPDNS解决,除非不用DCDN。确保体验仍然保留DCDN。通过域名降级到备用域名也能解决DCDN的网络故障,降低故障影响时长。

后果

新增多(N)套备用com域名年成本增加N*89元/年

运维维护域名人力成本基本可以不计;


来源: 雨林博客(www.yl-blog.com)