基于 CloudFlare+Conoha 搭建的企业级廉价 CDN

2016-01-10 18:06:55 +08:00
 vus520

admin@4wei.cn
http://www.4wei.cn/archives/1002551
2016-01-10

中国的流量很贵,流量越大越贵。

目前我负责的业务一半国内,一半海外。目前日均请求过千万,流量过 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 实现,稳定支撑月流水数百万美元的业务,而其成本非常低廉。

云服务越来越成熟,成本越来越低廉,对于我们这样的创业公司来讲,是一大福音。而对于那些传统的基础服务商来讲,又是什么呢?

9428 次点击
所在节点    分享创造
35 条回复
shyling
2016-01-11 03:04:27 +08:00
我记得之前 conoha 邀请新人注册送 1000 的活动结束了
googlebot
2016-01-11 03:41:31 +08:00
广告帖, 垃圾日本鬼子
baskice
2016-01-11 05:23:41 +08:00
cloudflare 有个问题,大陆境内几乎没法访问。请问贵公司是怎么解决的?境内还用 中国擦车 /蓝汛?
xiaozhizhu1997
2016-01-11 08:02:39 +08:00
Conoha 你用多了会给你在面板限速 512Kbps 。。
vus520
2016-01-11 10:09:52 +08:00
@baskice 国内目前是七牛和蓝汛混合使用,无保底,成本只到网宿一半
msg7086
2016-01-12 00:39:56 +08:00
我们这边用的是 Linode ,原计划是 Linode 和 Conoha 同时撑负载来加速国内用户访问。
我们流量比较小,一个月也就几 T 的样子。
vus520
2016-01-12 14:20:39 +08:00
@msg7086 Linode 我个人很早前测试过,跟 digitalocean ,应该是不能扩容,只能停机升级 plan 。

Conoha 有扩容却有限速的问题,好像没法折中。
msg7086
2016-01-12 21:14:12 +08:00
@vus520 作为 CDN 来说,扩容的话加机器比升级 plan 要划算啊,流量也给的多。
vus520
2016-02-01 11:50:05 +08:00
@msg7086 目前, Conoha 是唯一一个可以扩容而不用修改 plan 的平台,当文件比较多的时候可以直接加硬盘。当然, Conoha 存在短时间内访问过大会限速的问题。
而其它的平台目前不支持,包含 digitalocean 、 hostus 等。

如果有可以扩容、流量高、价格低的平台,求推荐。
msg7086
2016-02-01 12:00:03 +08:00
@vus520 我的意思是可以在架构上设计成弹性结构,需求增大的时候启动更多的实例。
(包括你说的 Linode ,可以用 glusterfs 做成分布式文件系统作为存储结构,要更多的空间直接开机器加入集群然后 Rebalancing 就行了。
vus520
2016-03-03 16:33:39 +08:00
@msg7086
感谢,目前已经在采用你说的这个方案了
msg7086
2016-03-04 00:33:34 +08:00
@vus520 如果可以的话,分享一下效果和成本吧
vus520
2016-03-04 11:15:42 +08:00
@msg7086 有些涉及公司相关的数据,不太好批露,从目前的情况, cf 是我们最好的选择。
msg7086
2016-03-04 11:18:08 +08:00
@vus520 好吧。 CF 其实性价比是不错的。
db520
2016-03-18 13:33:14 +08:00
楼主你是一个 200 刀的 cf 支撑 PB 级流量?这省钱省到爆啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249712

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX