上一篇写到了 搭建高可用系统—机房架构,包括机房选择,网络架构,设备选型等,今天想写一下DNS负载均衡,流量是如何进入到机房的,实际建设中应该怎么选择,应该考虑哪些要点。

负载均衡主要包括,DNS,LVS,Nginx反向代理等。

其中DNS负载均衡: 1、首先域名的购买,万网在中国做到比较好的了也被纳入了阿里系,购买后可以直接在阿里云后台管理也很方便。不过我个人比较喜欢用DNSPOD去做解析,创始人吴洪声,大专学历,85年广东湛江人,2012年腾讯以4000万元收购DNSPod100%股权,也实现财务自由了吧,羡慕,但没有妒忌恨。

  • DNSPod 可以支持根据不同运营商解析到指定的IP,另外有个更好用的一个功能是D监控,在其中一个IP中断的时候,可以自动切换到指定的备用IP,这个是在DNSpod上面自动操作,对运维人员和Client是透明的,当然Client因为DNS缓存不能立马生效,免费版大概600s,普通商业版大概60s。但也起到较好的容灾效果。

2、中等以上规模的网站一般不会把域名直接解析到机房IP,若机房IP暴露出去以后,很容易遭受到DDOS攻击,并且基本没有很好的处理方法。 几个点:

  • 域名直接解析到机房IP会怎么样? ---相当于直接把家里的详细地址告诉攻击者,然后一万匹草泥马奔腾过来……哦哦

  • DDOS攻击可以用防火墙抗呀? ---SYNFlood、NTPFlood、CC等这种类型的DDOS攻击,还可以通过防火墙或者服务器策略本身进行一定抵抗,只要并发撑得住,或许也能抵挡得了,但是焦头烂额了。如果是UDP 流量攻击,抗也抗不住了,相当于攻击者把一大卡车沙子放在家门口,后面卡车还源源不断,这样你别想出来,其他人也别想进去了,没有任何办法,就是这么无赖。

  • UDP 攻击 机房不是可以处理吗? ---一般小的或者中立的机房带宽都是有限的,如果来个10G流量攻击,机房很可能会放弃你,避免影响其他客户。如果接连受攻击,机房顶不住,估计过两天就会强制要你搬走了。 大的运营商有高防服务器,比如电信带宽相对来说充足,可以帮你抵挡住,不过一般要按月计费费用不菲,这个成本也很高。

*** 一般怎么做才适合?**

  1. 购买有实力的厂家的高防服务,以前用过安全狗还可以,这个与购买运营商机房的高防服务差不多,一般按月算,成本也比较有点高。

2.曾经做过一套方案是,在阿里云上面开了两台Nginx做反向代理,把域名解析到这两台Nginx,然后再转到机房的IP上面去,这样可以把真实IP隐藏起来,另外开了两台ECS,日均几百W PV问题也不大,1K/月差不多,真遭受到攻击,阿里云有免费的抗DDOS服务,以前是5G内免费的,现在应该降低了,不过也基本够用了。一般来说,如果没有什么仇什么怨,也不会遭受几十G的攻击,真有什么仇什么怨的话,阿里云也可以支持按天付,成本比较低。

  • 这种方案要根据实际情况关注ESC并发是否撑得住,如果有瓶颈可以升级下资源,另外也可以在Nginx上面多加一层LVS,达到横向扩展高并发。
  • 由于采用阿里云的转发,会带来一定的延时,这个需要根据实际情况考虑地域延时的问题,Nginx ECS要选好适当的区域,避免造成教高延时。

3.总结来说,首先尽量不要暴露机房IP出去,其次如果购买DDOS高防服务,一定要买大厂的,最后在保证高可用的情况下,能帮老板省就省点吧。