该项工作,如题所示,主要分为两部分:高可用负载均衡组件、缓存dns。
高可用负载均衡组件需求:优化业务系统架构中某些关键环节,针对tcp层数据流量进行负载均衡,并保证服务的高可用。
技术选型:haproxy + keepalived,这对组合比较常见成熟。
另外,由于haproxy的负载均衡任务可能比较多,靠人工修改配置来增删改任务不方便可靠,所以实现了一个简单的haproxy管理系统,以后经实际使用验证和完善会开放源码。
缓存dns先以www.qq.com为例,解释一下域名解析过程:
1.用户向local dns发起www.qq.com.查询请求;
2.local dns向根服务器发起com.查询请求;
3.根服务器向local dns返回com.解析记录;
4.local dns向com.权威服务器发起qq.com.查询请求;
5.com.权威服务器向local dns返回qq.com.解析记录;
6.local dns向qq.com.权威服务器发起www.qq.com.查询请求;
7.qq.com.权威服务器向local dns返回www.qq.com.解析记录;
8.local dns向用户返回www.qq.com解析记录。
local dns一般由网络运营商(如电信、网通等)提供。
缓存dns处于用户端(这是一个相对的概念)与local dns之间,利用dns服务器软件的缓存功能以及缓存dns与用户端的近距离特点来加速域名解析。
也可以在缓存dns上按需求进行域名劫持。运营商为了牟利,也会在local dns上进行域名劫持,这对于各大互联网公司对外提供的服务来说是个很大的问题。
在完成该工作后,我编写了一份安装配置文档,方便其他同事参考。文档见:haproxy+haproxyconsole+keepalived+bind安装配置文档.pdf。
原文地址:搭建高可用负载均衡组件及缓存dns, 感谢原作者分享。
