- A+
本文来自曹政大神的微信公众号【caoz的梦呓】,caoz的文章篇篇犀利,值得细读与收藏,特转载过来,分享给大家,如果你也喜欢,可以微信搜索“caoz的梦呓”来关注他。文章所有版权归原作者曹政所有!
系列导读
对于有创业经验的人而言,这甚至都不能称之为问题。但必须指出,其实很多创业新人,会忽略这个问题。很多人会简单的认为,我找一个靠谱的托管方,把我的内容放上去,就可以了,其实,问题真的没那么简单。
不说别人,我自己都交过学费。很久以前,电信网通分家的时候,我麻木不仁,当时在北京,总觉得北京是中国互联网的中心节点,应该没问题。那么事实呢,南北互联问题是早期互联网创业最大的坑之一。
还有比我更麻木不仁的案例,早期互联网,因为带宽成本极高,互联网上的资源又极为稀缺,一些不愁成本的地方电信平台就会提供免费资源空间,特别是山高皇帝远的那些地方,当时根本不在乎版权的问题,往往那些地方电信网站就成为流量极高的资源平台。结果有一个提供免费资源,流量极高的地方电信平台,自己的域名过期了,但由于当地电信的dns缓存一直存在,所以官方甚至很长时间都不知道自己域名过期了,被别人捡了大便宜,抢到过期域名的人把流量全部洗劫到自己的网站,一天几十万用户啊,想想那个年代的一天几十万用户。
没有创业过或没有经历过那段历史的人,恐怕很难知道这个事实,电信,网通的单线机房托管费,和双线机房托管费(一个机器同时接两条网线,一个电信ip,一个网通ip),以及bgp机房(智能路由,一个ip,同时接入电信和网通线路),同等带宽出口的情况下,其价格对比是惊人的,我记得当年,bgp机房比单线机房单位带宽的成本要贵10倍。对于创业者而言,要想达到电信网通的快速互通,如果通过机房来选择,是极大的一笔开销。
所以dnspod出现后,智能dns解析成为几乎所有草根互联网公司的标配,而这个,是典型的中国特色产品,你在美国还真就没有对标产品。
为什么智能dns解析解决了这个问题?我以前很早博客解释过,这里不解释了,有兴趣的童鞋可以自行了解和体会一下。
但智能解析只是解决了一部分问题,而其他问题,仍需要有足够的细心来处理。
我们知道,cdn是一项通用的加速服务,但我们要知道几个关键点
1、cdn并不适合于动态交互程序的处理,比如你有一些数据库应用,不能通过cdn加速。所以对于关键的交互系统,选择快速的双线网络环境还是非常重要的。
此外,特别强调,交互内容,比如涉及多台服务器之间数据传输的问题,最好在一个机房内使用内网传输,效率高,稳定性好,不会收网络环境的影响,如果是跨机房,跨地域,最好有自己的专线或虚拟专网,当然,这个成本确实有点高。
2、cdn的溯源率是一个重要指标,如果溯源率极高,说明cdn效率极低,这样可能使用cdn的效果还不如不使用,什么情况会出现这样的问题呢,有些原本针对静态资源的调用请求如果因前端开发的某种原因携带了一些随机参数,这样很多本来是缓存的请求就变成无缓存请求了。
3、cdn也会有出问题的时候,甚至出严重事故的时候。
比如之前知乎串号故障,就是cdn出的事情。(依常理判断,出这样的问题不能全甩锅给cdn,然,人家就是不承认自己系统有问题,那还能说啥呢)。
比如cdn被挂马也是很常见的问题。(以及地方dns劫持,罄竹难书,不过是另一个话题了)
对cdn的监控和选择也是非常重要的。
那么,这里其实又回到一个旧文的内容
通过对日常数据的分析,了解不同地区,不同网络环境下用户的平均访问速度,并分析可能存在的问题点,寻找可能的优化方向。
那么,如何简单,低成本的分析不同地区的用户访问速度构成呢?
我前几天的旧文,看不见的竞争 文件和数据压缩 里面引用了一个链接,是百姓网 “为速度而生”的架构师大会分享,我不知道有多少读者花时间去看了,又有多少读者看完了还思考了,如果你认真的看并且思考了,那么那里就有答案,巧妙的利用 ga代码的自定义功能,网页里嵌入一段简单的js,然后完全利用ga的分析能力实现这个功能,连服务端开发都省了,简单有效又方便。(唯一的问题,因为众所周知的屏蔽词原因,目前GA在国内目前未必好用)
再提醒一次,我最近推荐的技术链接,都是很老很老的旧文,而且并非来自于商业合作关系,都是历史上,我自己在做架构师的时候,自己觉得收获极大的内容,才诚意推荐,从事技术或者试图理解技术的童鞋,多花点时间研究一下,收获会非常大。
现在跟以前有很多不同,比如app取代了网站,比如云服务取代了主机托管,那是不是很多过去的知识和能力都不再重要了呢?
具体到一些细节,确实存在比较大的差异,但整体的思路,依然是存在的。
一切为了速度提升。
从文件压缩,到带宽优化,到缓存设计,都是为了速度提升。
但现在和过去比,确实有很多成熟的技术可以使用。
1、巨头的加入
现在百度云加速,360云加速,阿里云加速,腾讯云加速,巨头们纷纷推出了云加速服务,这些巨头本身就有大量的带宽和流量资源,剩余资源丰富,所以整体带宽质量要胜过以前专业的带宽服务商。
2、整合性好
传统的cdn,智能dns解析,抗ddos,是不同的服务,不同的产品,要分别选择和采购,而现在,这些都集中一体了。
你选择了一个云加速平台,智能解析本身已经替你做好,然后还能帮你抗ddos。(当然,攻击规模较大,就需要付费服务了)。
抗ddos是创业者最头疼的事情,我以前说过,你要是没被人ddos过,你都不好意思说自己是互联网创业者。网络黑社会收保护费的,同行恶意竞争的,以及就是特么的看你不爽要搞你的,这三种是ddos最常见的起因。虽然这个毒瘤现在还不能根除,但至少一些巨头已经有方案可以让大家来扛了。对于一般的ddos攻击而言,巨头免费提供的流量清洗还是蛮有效的,比我们当初创业的时候好太多了。
3、配置灵活性好
以前配置cdn是个体力活,现在域名转过去就不用管了,全自动化了。
但即便如此,我希望从业者,读完本文后,能明白如下问题,如果不明白,建议多读几遍。
1、什么是静态请求,什么是动态请求,我的用户请求的资源,哪些是可以云加速的,哪些是不可以的。 如果前端程序员犯错,有些静态请求也会无法加速,这个东西如何监控,如何测评。
2、使用不同的云加速产品,如何评估效果,如何知道自己的加速是否有效,以及如何确定潜在的问题点。
3、在出现访问阻塞时,如何正确评估系统本身的性能问题和被外部攻击的情形。(我发现有创业者犯过这样的错误,明明是自己系统的性能存在严重障碍,却误以为是遭受同行攻击)
4、智能dns是做什么的,云加速是做什么的,为什么动态请求无法加速,或者,如何加速动态请求的访问速度。
这个要看场合,提示,看看旧文推荐的杨建博客。
最后,放一点福利。
如果我有位于国内的网站,一些海外的用户觉得访问很慢,有没有简单的全球加速的方法。(不要小看海外华人的市场哦)
有,其实方法非常简单
第一步: 首先,你通过智能dns解析,把所有海外流量,cname到一个新的域名下。记住,这个域名同样要指向到你国内的内容,并且需要配置好,也就是跟国内访问者看到的是一模一样的。(不要再cname 回来,那就没意义了,你的源web server要识别这个域名并给出与原域名同样的反馈,不知道这样解释能否理解)
第二步:cloudflare是全球最大的云加速平台(中国没落地,海外有意义),开一个帐号,然后把这个新域名的dns转移过来。 开启云加速。
好了,这样就可以了。你可以选择免费版本或付费版本,但其实付费版本也有非常便宜的选择,每个月几十美元实现全球加速,对很多网站来说其实是超值的。
第三步:每个礼拜看看数据报表,看看多少流量被cloudflare加速了,多少流量回源了,如果流量都回源了,那说明你的网站或你网站前端的代码设计,不适合这种加速。
现在,反过来,如果我有位于海外的网站,想做国内加速,可以不可以?
可以,利用智能解析,cname一个新域名,然后通过国内的云加速平台解析,方法完全一样。但这里提醒一下,新域名必须通过国内备案,否则加速服务商会拒绝服务。
那有人说,你说的是网站,那么 app呢,据我所知,相当高比例的app中的数据和内容交互都是走的http请求,也就是说,同理操作毫无障碍。
最后继续放一个福利
华为软件产品线架构部部长助理谢秋华先生,昨天给我发邮件,希望我推荐一个到多个性能优化方面的大牛级人物,工作地点:深圳,
有兴趣并且自认为能力出色的,可以自行联系 xieqiuhua#huawei.com (猜猜我为什么刻意用#?)