假如你是一个老司机,一眼看到一个这样的外网带宽曲线,你会有什么反应?
我擦,流量几乎掉底了,从一天前开始的,至今仍未恢复,这个服务是挂掉了吗?
这其实是近几个月在微信上异常活跃的CCSER儿童失踪预警平台的后台服务器的流量监控图
CCSER的发起人张永将,和我们一样有一个做中国的互联网安珀警戒(Amber Alert)的梦想,从CCSER发起时我们就一直在尝试各种合作。去年底CCSER终于完成了大量前期工作,准备开始发力面向全国用户做推广,作为互联网老兵,我们深知要做一个面向海量用户的大平台需要面临巨大的技术挑战,于是邀请CCSER入驻到“云+公益”计划,由我们提供云资源和必要的技术支持。
果然,放量没多久,CCSER提出了新的需求:原来提供的5台服务器不够用,而且面向全国的地区覆盖不够好,希望可以提供多几台分布在其全国各个机房的服务器来协助分发。
这其实是很常见的一类问题:用户需要的是一个墙上的洞,而他以为自己需要的是一把冲击钻。在这个案例中,CCSER需要的是更多的分发数据的能力,而他以为自己需要的是更多的分发数据的服务器。
CCSER的业务场景很特殊,每当有儿童走失案例上报,CCSER就会向走失地点附近的一大片区域进行APP和微信的消息推送,像这样
随后短时间内该片地区的大量的用户会点击这个消息,给服务器带来很大的流量冲击。
在大多数时间里面,服务器又没有什么压力。
因此如果我们面对服务器的峰值流量来做系统选型的话,系统就不得不设计的非常高规格,同时使用率必定非常低。
还好在云时代,我们不需要去买自己的“冲击钻”,分发能力早就通过COS、优图、cdn这样的产品向公众提供服务了,所以问题变的很简单了:如何启用CDN来提供透明的动静态数据的加速服务。
所以我们婉拒了CCSER增加服务器的需求,转而协助CCSER进行CDN分发加速配置。
同时也协助CCSER配置缓存过期策略,确保动态数据透传,静态数据有效缓存,并且打开了“中间源”做二级的缓存。
经过CDN的两级分发缓冲之后,CCSER服务器的压力急剧降低,流量监控出现了文章开始处的掉底曲线。以后需要进行大范围消息投放的时候,再也不用畏首畏尾,担心服务器会不会撑不住了。
同时服务器的真实IP也被隐藏到了CDN后面,因此安全性也得到了很大增强。
同时,假如这不是一个免费的公益项目的话,通过CDN来分发还能节省大量的费用。
原文链接:https://www.cnblogs.com/stonehuang/p/6610423.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/7065