【阅读原文】戳:阿里云DNS管控平台,新一代DNS解析管理及分发系统
作者:沈建伟(如鹏)
“万物互联,百川赴海。”
随着云计算的普及,以及5G万物互联时代的到来,为助力企业数字化转型,对“寻址解析服务”提出了新的挑战:极致的高性能、高可用性、高可扩展性、云端融合、智能化调度等。
作为亚洲最大的解析服务提供商,应对这些挑战,阿里云DNS团队率先出征,打磨出了新一代DNS解析管理及分发系统,这个系统,就是今天我们这篇文章的主角:阿里云DNS管控平台。
1.什么是“阿里云DNS管控平台”?
阿里云DNS管控平台,在阿里云DNS系统的位置,一侧连接B端企业客户,一侧连接分布在阿里云全球region的DNS集群。“阿里云DNS管控平台”的核心能力是为企业客户提供高性能的、高可用性的、高可扩展的、云端融合的解析管理服务,提供统一的友好的解析管理界面(包括管理控制台及openAPI),并把解析变更数据快速分发到全球DNS集群上。
2.“阿里云DNS管控平台”之高性能
为应对万物互联时代海量解析带来的挑战,“阿里云DNS管控平台”解析变更的性能指标支持100万TPS、1秒分发到全球各DNS节点。
构建高性能的“阿里云DNS管控平台”其核心设计思路包括:
1. 通过异步化解决服务间的强依赖问题,让部署更灵活、简单;
2. 通过sharding机制突破单库单数据源的存储性能瓶颈,让系统在100万TPS内可平滑伸缩;
3. 通过多级队列解决数据有序、并行处理、数据分发问题,保障数据变更的正确性及高吞吐量;
4. 通过幂等性、重试、及补偿机制解决数据的一致性问题;
5. 通过私有网络在“阿里云DNS管控平台”所在中心Region与DNS集群所在边缘Region间提供高效的传输通道,保障数据能在1秒分发到全球各DNS节点。
3.“阿里云DNS管控平台”之高可用性
DNS作为一种基础设施服务,其整个系统的稳定性不言而喻。
“阿里云DNS管控平台”作为解析数据的变更及分发系统,随时都需要支持好客户做解析变更,尤其是在客户做容灾切换的场景下更是如此,这就需要“阿里云DNS管控平台”自身具有极高的可用性。除了“阿里云DNS管控平台”内部各服务本身要消除单点、region内双AZ可用、做好监控报警快恢外,还要做好跨城容灾能力。针对跨城容灾场景,“阿里云DNS管控平台”的设计是异地双活。
“阿里云DNS管控平台”整个系统采用双region部署,利用智能线路解析做入口请求流量切分,切分后流量分别进入到每个region并在region内做闭环处理,数据层做数据实时的双向同步,保证每个region都有全量数据。这样在任何一个region出现问题后就可以把出问题region的流量全部切换到正常region上去,保证业务不中断并能持续提供服务。
4.“阿里云DNS管控平台”之高可扩展性
可扩展性对系统的持续升级迭代至关重要,往往也间接影响着系统的稳定性。大家常看到或听到因为新需求的发布而导致系统产生故障的案例,多数是因为系统的可扩展性不佳,不能很好的满足开闭原则,改一处则动全身,所以在“阿里云DNS管控平台”的设计之初我们就把系统的可扩展性作为一个非常重要的考量维度。
“阿里云DNS管控平台”通过引入DDD的设计方法论,让模型的设计更加统一,让模型分层分模块的边界更加清晰,让各模型的职责更加单一,逻辑更加内聚,通过引入扩展点机制从框架层面统一管理易发生变化的逻辑,让差异化的逻辑互不影响相互隔离,另外通过引入SPI机制把对外部尤其是中间件的依赖SPI化,使对外部的依赖最小化,方便中间件升级切换。
5.“阿里云DNS管控平台”之云端融合
随着“云端一体”产品战略的发布及落地,云端互管、统一管理是其核心特性(我们把客户机房私有化部署的DNS也定义一种特殊的端)。客户可以在端侧通过私有化部署的“阿里云DNS管控平台”,统一管理私有化部署的DNS服务与云上DNS服务,实现云下云上互联互通统一管理,为客户管理与运维DNS服务提供全局视角,极大提升客户的效率与使用体验。
面向未来
AIDNS智能化的流量调度
万物互联时代到来,随着各类应用的爆发,各种终端、设备的接入,仅依靠静态解析配置、基于简单规则的流量调度与容灾切换,已不能满足未来海量终端设备对解析变更及分发的要求。
未来,我们需要在采集应用、服务、网络、终端、请求量等各数据的基础上,加上智能算法,一同构建智能化的流量调度大脑AIDNS。通过AIDNS提供智能化、动态化的解析配置能力,能够让请求流量以最短的路径、最快的速度到达能提供最佳服务质量的应用实例,能够更加精细化地自动过滤掉各种非正常流量,能够对应用或服务自动做扩缩容,能够对应用部署规划提供建议等。
未来已来,阿里云DNS团队将继续开拓创新、迎接挑战,推进DNS更好的服务客户、服务社会。
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~