导读 | 现如今本地负载均衡技术已经解决服务器集群的高可用问题,但是断电、施工挖断光缆、自然灾害等依然可以导致整个数据中心无法工作。另外,中国网络由多家运营商组成,各运营商之间互联互通质量差已是不争的事实。因此大型互联网企业早已不满足于单一、或者双活数据中心提供网站服务,越来越多的互联网企业开始考虑在不同地区、不同运营商部署多个数据中心集群,以实现用户访问就近接入、负载均衡和故障容灾。 |
现如今本地负载均衡技术已经解决服务器集群的高可用问题,但是断电、施工挖断光缆、自然灾害等依然可以导致整个数据中心无法工作。另外,中国网络由多家运营商组成,各运营商之间互联互通质量差已是不争的事实。因此大型互联网企业早已不满足于单一、或者双活数据中心提供网站服务,越来越多的互联网企业开始考虑在不同地区、不同运营商部署多个数据中心集群,以实现用户访问就近接入、负载均衡和故障容灾。
提到多数据中心部署,就不可避免需要面对以下三个问题。
1. 多个数据中心流量如何分配?
2. 监控怎样及时发现网络故障?
3. 多个数据中心服务如何容灾?
如果这三个问题不能有效解决,将会导致用户访问质量差、服务黑洞、以及客户的投诉。而网站背后的运维人员,则会频繁受到销售、PM、领导的Challenge!沦为背黑锅的对象。令人欣喜的是,阿里云产品云解析DNS,现已助力中小企业解决多数据中心的流量负载均衡、实现用户就近接入、故障及时发现和实时容灾切换。
在多个数据中心部署服务时,必然需要面对不同数据中心接入带宽不同、服务器集群负载能力不同、以及运营成本等诸多因素。所以需要针对不同的因素设计与之相匹配的流量分配比例,那么如何能够精确的分配访问流量呢?云解析DNS为您提供了一些参考方案。
云解析DNS是一款经过特殊设计的智能DNS系统,能快速识别出IP地址所在的位置信息(包括国家、省、市和运营商等),并可以向不同来源的DNS查询响应不同的IP地址,实现企业就近接入、降低跨网流量的需求、以及灰度发布等需求。同时,针对相同位置不同服务能力的数据中心集群,可以通过WRR(Weighted Resource Record)来设置整体流量分配方案。
例如:example.com公司的www官网,有6个数据中心,其中华北电信两个、华东联通两个、另外两个托管在阿里云BGP数据中心,
1. 华东联通两个数据中心的带宽比例是3 :7,通过云解析设置线路内负载均衡时,将两个数据中心服务IP地址的权重分别设置成3和7, 达到华东联通访问流量按照30%和70%分配的比例;
2. 华北电信两个数据中心的带宽比例是1 :1,通过云解析设置线路内负载均衡时,将两个数据中心服务IP地址的权重分别设置成1,达到各占华北电信访问流量50%的配置比例;
3.阿里云BGP 两个Region的ECS数量比例是8 :2,那通过云解析设置线路内负载均衡时,将两个Region公网弹性IP地址的权重分别设置成8和2, 达到访问流量按照80%和20%分配的比例;
4.网络监控对各个数据中心的服务IP进行实时监控;
5.网络监控周期性将监控结果反馈给云解析DNS;
6.用户向华北电信dns发起www.example.com DNS查询请求;
7.华北电信dns收到用户的查询后如果没有缓存该域名,则向云解析DNS发起域名查询;
8.云解析DNS收到华北电信的DNS查询时,轮询响应IP地址3.3.3.3和4.4.4.4。此时一半华北电信DNS得到的结果时3.3.3.3,另半华北电信DNS得到的结果时4.4.4.4。同理,云解析DNS收到华东联通的DNS查询时,先连续返回3次5.5.5.5,再连续返回7次6.6.6.6,然后重复执行,此时30%的华东联通DNS得到的结果是3.3.3.3,剩下70%得到的结果是4.4.4.4。
9.华北电信DNS收到云解析DNS的响应后会缓存域名解析结果,并返回给最终查询用户。
10. 最终实现50%的华北电信用户访问3.3.3.3上的网站服务,另外50%华北电信用户访问4.4.4.4上的网站服务
1.云解析DNS在通过智能解析和WRR帮助中小企业实现就近访问以及流量分配的同时,有效的结合阿里云分布式监控,利用全网拨测探针对网站的解析记录进行实时监控。
2.云解析DNS的网络监控目前已支持HTTP/HTTPS、自定义URL、在提供5个真实阿里巴巴拨测节点基础上,优选了15个三大运营商优质拨测点。同时多达50个监控任务数的配置全面领先竞争对手,确保能够及时发现宕机故障,增大监控覆盖面。
3.低至1分钟的监控频率,相当于您的网站每3秒钟,就可以获得一次健康检测,最快可以宕机后3分钟内检测出故障,并通过全球负载均衡功能完成故障切换。
4.为了防止误报警现象发生,我们将宕机判断阈值设置为50%,即50%的节点监控异常时判定为宕机故障。
5.当然DNS生效还受到运营商缓存TTL的影响,建议设置主机记录TTL为60秒。
6.如果你是移动端开发者,推荐配合阿里云HTTPDNS服务同时使用,故障切换更加灵敏。
故障隔离
在网站服务运行的过程中,故障不可避免总会发生。那么如何做好故障隔离呢?云解析DNS有以下一些实践,可供中小企业使用。
1.华北电信一个数据中心集群4.4.4.4因异常原因出现大面积故障,网站服务中断,用户访问失败;
2.网站监控在2分钟内发现4.4.4.4集群故障,同时通知云解析DNS系统暂停华北电信:4.4.4.4的IP地址解析;
3.云解析DNS暂停故障IP解析后,只向华北电信DNS查询返回IP地址:3.3.3.3,同时云解析DNS解析日志会记录下故障时间、IP地址、暂停操作信息,并通过短信和邮件通知您的运维工程师。
4.最终实现将用户的访问流量全部转移至华北电信数据中心:3.3.3.3。
故障恢复
当网站恢复服务后,如何便捷的迁移会流量呢?
1.在华北电信用户的访问流量全部迁移至3.3.3.3后,4.4.4.4相当于离线状态,你可以组织相关技术同学对故障集群进行修复。
2.修复完成、测试通过后,监控系统能自动检测到华北电信数据中心4.4.4.4的网站服务恢复正常,并通知云解析DNS恢复华北电信4.4.4.4 的IP地址解析,
3.云解析DNS收到华北电信的DNS查询时,轮询响应IP地址3.3.3.3和4.4.4.4。经过一段时间后,一半华北电信DNS得到的结果是3.3.3.3,另一半华北电信DNS得到的结果是4.4.4.4。
4.最终用户的访问流量会平滑的过度到原始配置各50%的比例,确保访问流量在恢复时平滑、用户无感知。
对于大型互联网企业,必须要考虑的一点是在灾难性情况发生时,如何保证用户访问正常
1.由于某些不可抗拒的原因,华北电信的数据中心两个接入IP地址:3.3.3.3、4.4.4.4全部出现故障,并无法及时恢复;
2. 网站监控及时发现故障,并通知云解析DNS暂停所有华北电信线路下IP解析;
3.云解析DNS暂停解析后,会启用线路间负载均衡策略,向华北电信用户的DNS查询返回阿里云BGP Region地址:1.1.1.1、2.2.2.2;
4.最终实现将整体华北电信用户的访问流量调度至默认线路阿里云BGP Region:1.1.1.1、2.2.2.2,保障在极端情况下,依然能够向华北电信用户提供正常的服务
云解析DNS是一种高可用性、高可扩展的权威DNS服务和DNS管理服务。提供了多种全球负载均衡策略,帮助中小企业快速、准确的将用户请求路由至您的数据中心,同时具备高可用容灾切换能力,实现在一些数据中心故障的情况下,仍然能保证中小企业的网站服务可访问。
未来云解析DNS还会将会与更多的阿里云产品相结合,例如SLB、ECS、CDN、云盾等。形成立体化的高可用网站解决方案,从访问入口到后端服务助力中小企业实现全链路负载均衡。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/113292.html