这几天上不了小草,发现还蛮不习惯的。惊喜的发现小草有了些许变化,这里给大家科普下,cl这次的重生都经历了什么,我们几天的等待换来了什么?我尽量用最通俗的语言来描述。
本次的调整,众草直接受益:
1、全球的访问速度都极大提高!
2、防攻击的能力极大提升!
先从旧的论坛架构说起。之前我是用5.yao.cl这个域名发起访问的,这个域名解析到了184.154.128.246这个IP(已不能访问),查IP的归属,说明是托管在美国芝加哥的SINGLEHOP数据中心。
访问时全球的访客都要长途跋涉来到美国芝加哥再返回,这样的延时可想而知。小草的网站如此简朴,连网站LOGO都用大字来代替,就是为了保证速度。
当黑客想攻击小草的时候,DDoS的目标非常明确,直接对着184.154.128.246这个IP猛干就是了~!成本也极其低,把这台机器的流量或负载打满,他就赢了。
所以版主大大们找了一种解决方案,依托于国外一家叫Cloudflare的CDN加速公司,来解决攻击和访问缓慢的问题。
一、解决访问缓慢的问题
Cloudflare使用了一种叫BGP Anycast的技术,使全球的访问者通过一个很智能的IP,可以访问到离访问者最近的CDN节点,且文章帖子是html结尾的,是缓存在他们的CDN节点上的,不需要再去美国芝加哥的机房取了,所以现在的小草开的很快!地址带index.php、thread0806.php?fid=7等php结尾的我们后面说。
收集了两个小草域名,一个永久域名t66y.com,解析到的IP是198.41.134.28和198.41.135.28
一个国内暂时可访问的域名www.18lib.com,对应IP是104.28.23.123和104.28.22.123
看到没?这四个IP全是Cloudflare的CDN节点!
用ping检查工具检查其中一个IP的全球的访问延迟,如图,单位是毫秒:
啥也不说了,就是一个字:快!
二、解决防攻击的问题
上一段我们通过域名访问到的IP是Cloudflare的Anycast段IP,通过常规的办法,小黑客再也不能获取到真实的小草服务器IP了!而Cloudflare一个AnycastIP全局服务能力至少300Gb/s!!因为Anycast开启后,是所有的点一起对外服务的,一个点挂了,访问会被转移至另一个点,只要有个点活着,小草就能访问,只是速度会一些受影响。哪位攻击小草的黑客能控制如此多肉鸡,瞬间打出如此高的流量??有的话也会拿去做商业用途的而不会拿来攻小草。
上张画的原理图帮助大家理解,表示全球N多的机器都是这个IP,用户访问到哪台,是自动按最优的决定的:
但是,黑客不会傻到攻击静态页面的。他们会通过对动态页面的大量访问,如http://www.18lib.com/thread0806.php?fid=7,让小草真实的服务器或数据库负载过高。
那么,处理了这么多次攻击,版主大大会不知道这点?所以版主还针对这样的动态页面配置缓存!大家可以刷新下技术讨论区的页面,会发现间隔一段时间才变化一次,这正常吗?小草无时不刻有人在回复,怎么可能最新的帖子是你看到的这个?就是因为配置了缓存,CDN节点间隔一段时间才回到小草真实的服务器取新数据,其余时刻访问的是CDN缓存的旧数据。
这里没法继续分析数据库,后台对于我们是不可见的,截稿为止,我还是有碰到了小草会数据库线程超出的问题。如果要再增加服务能力,无疑就是扩大数据库集群。
最后,希望大家抱着感恩之心,版主们为了大家的访问体验,还是花了不少心思的。
谢谢观看!欢迎大家提出疑问和指出不足之处 🙂
原文链接:htm_data/7/1505/1493220.html