【HTTP-DNS专题三】设计方案

HTTP-DNS设计方案

一、系统角色

1.1、业务-client

端侧业务系统,可由iOS、android、H5、小程序组成。
职责:

  • 1、接入云控降级开关。
  • 2、接入A/B系统,这个看承载能力,最好包含版本、白名单、业务线、用户等多维度自动分流。
  • 3、接入HTTPDNS-SDK,初始化。
  • 4、根据SDK异常回调,需要将异常情况上报公司统一平台,监控运行情况,及时调整。

1.2、业务-server

业务接口前台服务
必要的配套服务支撑

  • 1、云控降级开关服务
  • 2、A/B系统服务
  • 3、各业务功能系统

1.3、HTTPDNS-SDK

httpdns接口能力组装层,起到能力组装、对接端侧业务系统能力。
1、初期接入阶段,我们采用的是热点域名配置方式,仅处理白名单的域名请求,主要考虑的是降低新风险的引入。
2、白名单需要有过期清楚或者强制下发清楚功能,当配置异常的时候能及时恢复。
3、注册打桩HTTP请求过程,AOP干涉请求过程,将域名请求“偷换”成IP。
4、请求头封装:httpheader中的host和“异常监控”header更改,这里单独说明下,“异常监控”header的背景是这样的,一般http异常监控平台都是监控host来确定请求域名的,当我们认为“偷换域名为IP”,监控系统错乱,得认为告诉他这一类IP请求是归结于特定域名下的。

1.3.1、逻辑

桥接业务和底层DigIP-SDK,包含必要的封装和数据处理能力。

1.3.2、数据

  • 1、白名单域名、热点域名(缓存过程、过期更改过程、清楚过程)。
  • 2、域名对应IP数据缓存(缓存过程、过期更改过程、清楚过程)。
  • 3、DNS请求过程队列管理。

1.4、DigIP-SDK(传送门)

作用单纯,输入域名和localIP输出IP。

  • 1、拼接UDP报文请求
  • 2、发送请求
  • 2、接受并解析DNS服务器的返回,数据梳理完成输出给上层HTTPDNS-SDK

1.5、HTTPDNS-Server

与HTTPDNS-SDK配到的服务。

  • 1、热点域名白名单域名服务

二、时序图

为了适应大多数场景和脱敏要求做了调整。


111.png
222.png
333.png

你可能感兴趣的:(【HTTP-DNS专题三】设计方案)