如何通过 CloudFlare+Conoha搭建的企业便宜CDN
中国的流量很贵,流量越大越贵。
目前我负责的业务一半国内,一半海外。目前日均请求过千万,流量过 10T ,总成本不超过 500 元 /天。跟传统的 CDN 服务相比,便宜到可以忽略。
CDN 介绍
在项目早期,为了业务简单,直接使用传统 CDN 提供商网宿,在 CDN 宽带超过 5G 的时候, CDN 的成本开始显现出来。
一般国内的 CDN(网宿、帝联、蓝汛,还有一些如七牛、又拍这样的二手贩子)均有宽带和流量计费,新起的云平台(阿里、腾讯、 uCloud)基本上使用流量计费。
国内的 CDN 价格,网宿的 95 峰值计费,一般价格在 45-55 元 /M ,根据宽带高值、公司背景、销售人员关系等等因素,合同的价格可以签到 30-40 元左右,其它二线的 CDN 可以签到 25-30 元左右。
其它的云服务平台,价格相对固定,业务购买一般是自助服务,价格基本上没得可谈,普遍价格在 0.9 元-1.2 元 /G 。
国内服务器的国外 CDN 价格比国内高出几个数量级,网宿的报价为 150 元 /M ,其海外节点为少数自建加 akamai 代理。其它几家传统的 CDN 服务商完全代理甚至没有海外业务。
海外的 CDN 服务商,计费一般是按流量计费,常见的如 MaxCDN, KeyCDN ,价格一般为 0.04-0.1 美元 /G 。
业务介绍
我们的业务早期使用网宿,业务从 0M 跑到 3G ,业务一直比较稳定。后来业务推到海外,直到 CDN 的成本越来越高,经过跟几家 CDN 服务咨询、测试,从*初的七牛, MaxCDN , KeyCDN ,到*后的 CloudFlare+Conoha ,终于实现成本与速度的平衡。
在*次使用 CloudFlare 和 Conoha 的时候,都被其*低的价格吓得不敢相信,企业级项目中总觉得低价的服务肯定会出问题(事实上确实是这样,毕竟价格高的也会出问题)。
cloudflare.com
和国内的安全宝、百度云加速的业务类似, CloudFlare 提供的安全服务是帮助网站阻止来自网络的黑客攻击、垃圾邮件等,并提升网页的浏览速度,这和一般的安全软件往往会影响网页的运行速度大相径庭。目前 CloudFlare 在全球拥有 23 个数据中心,如果用户使用了其服务,那么网络流量将通过 CloudFlare 的全球网络智能路由。 CloudFlare 会自动优化用户的网页交付,以期达到*快的页面加载时间以及*佳性能。 CloudFlare 提供包括 CDN 、优化工具、安全、分析以及应用等服务。
2015 年 9 月, CloudFlare 正式宣布与百度合作改善外国网站在中国的可访问性。双方早在去年 7 月就签署了合作协议, CloudFlare 将其技术转让给百度( CEO 称此举是为了增加信任),而采用 CloudFlare 技术的百度云加速服务于去年 12 月开始运作。
CloudFlare 称,百度在中国大陆的 17 个中心地区节点与 CloudFlare 全球的 45 个节点结合起来,提升中国国内外的访问体验,当客户激活中国网络服务后,他们的中国访问者将会访问百度节点,而 CloudFlare 节点则继续服务海外访问者,可将中国流量的响应时间缩短超过 200 毫秒。
但外国客户如果要激活中国网络服务将需要 ICP 备案。网站备案是中国工信部要求所有在中国大陆使用主机或 CDN 服务的许可证书。
via:http://www.cnbeta.com/articles/429815.htm
conoha.jp
ConoHa 日本 gmo.jp 旗下的一个 VPS 主机商,成立于 2014 年。 ConoHa 提供日本、新加坡及美国机房云 VPS 服务。
ConoHa 的业务跟国内的云服务平台类似。说是云服务器,个人感觉跟 vps 差不多,跟常见的 Linode 和 digitalocean 基本上相同。
ConoHa 的官网支持中文,支持信用卡和支付宝,支持扩容支持按时间收费,可以按小时按月计费。
ConoHa 的价格非常廉价,常见的配置如 1GB 、 2Core 、 SSD50GB ,每个月 50 元人民币。
*重要的是, ConoHa 不限流量, 100M 宽带,可扩容,可加 IP 。
ConoHa 有激励政策,通过我的邀请链接注册,你可以获取 1000 日元,相当于免费赠送一台主机,
https://www.conoha.jp/referral/?token=V3xoVa5812CYk15rhJkKiiNc5E340f3uNaNjQCiaBmnWZdA30Zk-0VJ
业务实现
在 CloudFlare 中,添加一个免费(我们使用付费方案是 200 美元 /月)的域名,主要使用其提供的 IP 隐藏、文件缓存来实现防 DDOS 和 CDN 需求。
在我们的单个项目中, CloudFlare 每天可以缓存数百万次的请求,差不多 8-12TB 左右的流量。按*低 4 美分的价格,每天的 CDN 成本应该在 3000 元左右,一个月 10 万元,一年超过 100 百万元。
采用了 CloudFlare 以后,只需要 1200 元一个月,一年只需要 1 万元, CloudFlare 实实再再的帮老板省了一大笔钱。
老板是不是该*励我一台特斯拉了哎?
经过我们跟数家 CDN 服务商的对比和测速,给 CloudFlare 的节点和速度 5 个星,稳定性和速度让我们非常意外,点赞。
但作为一个非专业的 CDN 解决方案, CloudFlare 目前还没有完善的数据报表。不能分析请求的 URL 列表,不能按常见维度分析用户和行为,对运营人员来讲是个缺憾。
同时, CloudFlare 默认只对一些基本的文本、图片文件进行缓存,有特殊的文件,比如 apk 、 exe 等文件,则颇费周折。
via:https://support.cloudflare.com/hc/en-us/articles/200172516
CloudFlare 中非默认缓存的文件,比如 apk 文件,如果需要缓存,则不能携带任何参数,否则会回源,无法缓存。
CloudFlare 另外一个巨坑便是其缓存重建只能通过 pull 方式。回源 pull 方式存在严重的风险。我们这边出现过一个 50M 的文件清理缓存以后,源站瞬间出现近千个请求。这包括 CloudFlare 的全球节点的缓存请求,也有用户的的真实请求。
CloudFlare 无法设置限速,所有请求全落到源站,源站的流量瞬间飙上 500M 。放在云上的整个路由器下的所有业务全部卡死。
源站的流量可以通过扩容的方式提升上限,为了解决巨大的回源请求,我们曾差不多把宽带提高了到 1G 。
云平台 1.2 元 /G 的流量价格也是贵到滴血,逼得我们必须要为回源的请求再构建一个廉价的中转服务器。
在测试过 Linode 和 digitalocean 以后,我们选中了 ConoHa 。主要看中其*低的价格、无限流量、多节点等优势。
我们把文件 rsync 到 ConoHa 的多台主机以后,再将 CloudFlare 的回源请求重定向到不同的 ConoHa 服务器。
虽然业务架构越来越复杂,但比起源站业务被中断,以及宽带扩容的成本, ConoHa 上一个月不到一千块钱的成本实再便宜得让人心疼。
其它
在目前的架构中,所采用的方案均为比较新的服务商,稳定性存在非常大的风险,如果有一天 CloudFlare 或者 ConoHa 倒闭,则会对现在的业务造成致命的影响。
为了降低风险,我们也在采用了一些优化手段,也在积*寻找备用方案。
比如,为了避免单个域名流量太大,被 CloudFlare 封掉,或者要求我们使用更高的付费方案,我们把 CDN 拆到多个域名下,减少单个域名的请求和流量。我们也在寻找与 CloudFlare 相同的的平台,比如 Incapsula 。甚至有人建议直接购买廉价 vps 自建 CDN 。考虑到现在云计算基础服务相对完善,自建一个全球性的 CDN 平台也不是太大难事。
为了避免 ConoHa 出故障,我们也在其它几个廉价的 vps 服务商购买了几个备用服务器,定期将文件同步过去进行灾备。
同时,我们发现 CloudFlare 中添加一个在国内备案的域名,其节点尚不能确认是否已经使用了百度云加速的节点,有没有知晓内幕的朋友。
*后
经过项目的实践和数月的运营,这个廉价的 CDN 实现,节点数可以达到成熟商用 CDN 节点数的 30%-80%(海外优势尤其明显)。跟同行业的一些朋友交流时发现,也有其它同行业的业务使用 CloudFlare+Digitalocean 实现,稳定支撑月流水数百万美元的业务,而其成本非常低廉。
云服务越来越成熟,成本越来越低廉,对于我们这样的创业公司来讲,是一大福音。而对于那些传统的基础服务商来讲,又是什么呢?
0
conoha 确实有严重的限速问题,这个环节改成了 digitalocean+glusterfs 实现。
截止目前 cf 可以抗住每月 PB 级的流量,但中间出现过一次较大流量的回源,服务器产生了 300G 左右的流量。
1
详细咨询了 cf 在国内的业务,确认目前是可以提供的,通过邮件确认业务并议价,*后开通。这部分费用*后还是给百度了。 cf 给的这个价格来看,在国内没有什么优势。
2
国内的 CDN 今年应该有比较大的降价空间,网宿国内做到 25 元也不是不可能,供大家参考。