V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
star7th
V2EX  ›  分享创造

我是如何把网站图片 cdn 流量成本压到全网最低(之一)的

  star7th · 2022-09-05 09:32:44 +08:00 · 25658 次点击
这是一个创建于 570 天前的主题,其中的信息可能已经有所发展或是发生改变。

缘起

我经营的一些网站和产品的访问量越来越高,付出的 cdn 流量成本(主要是图片资源)也越来越大。抱着节省成本的想法,我尝试在网络上找下有没有便宜的 cdn 商家。 像阿里云、腾讯云、七牛云,这些公有云 cdn 的价格都大同小异,我感觉即使从这一家换到另一家,也节省不了多少成本,同时还增加了迁移的麻烦。因此我把目光投向传统机房,预感可能越接近机器底层,能优化的空间越大。

经过几天的考察,发现很多非热门地区的机房都或多或少都有一些闲置的优惠产品,甚至其中也不乏优质带宽机器。特别是三四线机房,线路测试其实还不错。很明显这些闲置资源没有得到充分利用。一个点子在我脑海中酝酿了。

使用开源 or 自己原创?

假如我把各地的闲置机器组织起来,把它们当成一个个节点,组建起一个分布式网络,自动容灾切换,岂不就是一个廉价的自建 cdn 方案了? 顺着这个思路,我去找一下开源的 cdn 软件 ,看看有没有现成的解决方案。

然而事情没有我想的那么简单。开源 cdn 并没有很好的容灾切换机制,无法实时避障。 它核心原理里,用域名 cname 的方式指向某个节点 ip ,当节点挂了的时候,由于域名 cname 解析变更有 10 分钟以上的缓存,所以必定会导致用户有一段时间的访问故障。 我现在探索的是把各地机房集成到一起,其中机器节点的可靠性是参差不齐的。如果想做成一套 cdn ,那么就必须要假设节点是不可靠的,随时可能故障的,然后为此设计一套完善的容灾解决方案。

既然找不到现成的开源解决方案,那就自己动手写代码实现吧。

基本逻辑

我边啃着玉米,边用笔在纸上画着逻辑交互图。 经过一阵子的反复斟酌,基本逻辑已经成型。

1 ,这套程序主要有两个角色,调度服务器和节点服务器。调度服务器架设在阿里云 k8s 上,保障高可用。而节点服务器则是分布在各地机房,做好可能会故障、随时容灾切换的准备。

2 ,调度服务器的作用是导流和容灾,将用户流量以重定向的方式导向可用的节点,同时避开故障节点,做到实时无缝切换。

3 ,节点服务器的主要作用是拉取源文件到本地缓存,从而被用户访问。

4 ,节点服务器跟调度服务器之间要用某 tcp 协议实时连接监控,监控粒度细分到每个文件,方便调度服务器实时避开故障节点,这样才能保证故障时候,用户访问的每个链接都可以正常切换访问。这里实时性是非常重要的,也是容灾方案的核心。

小试牛刀

于是我花了一个多月的时间去写代码来实现这个逻辑。核心代码其实写得很快,但是为了保障稳定性,增加了非常多的异常容灾措施,要花时间不断测试不断重写。 初期只放三个异地机房节点,把流量切进来看看。 为了保险起见,先从小的做起。我一开始切日均 10G 流量过去,让它跑几天。 几天后,没问题。 试试日均 50G 流量? 50G 跑了几天,ok 。日均 300G ? 依然正常运行 。

开放商用

现在,已经完美运行了一个月,每天承受超过 1000G 流量,暂时没发现有故障现象。我以及一些朋友的很多产品都在用。我刻意关掉其中一个节点,调度服务器马上切流量到其他节点。我刻意关闭全部节点,流量也马上转到源站。整个过程中,只要调度服务器正常运作,那么,无论节点故障与否,用户都将继续无感知地正常访问图片。 而调度服务器直接运行在阿里云 k8s 上,可靠性是非常高的。因此整套架构的可靠性很高。

有了这个架构,如果需要承受更大流量,我只需要增加节点数即可。而全国范围内的机房机器多的是 ,我可以随时租机器来新增节点。当我意识到有规模化运作大流量的可能性后, 我决定把 cdn 能力包装出去 ,商业化运作。于是注册并备案了大风云网, 访问地址是 www.dfyun.com.cn

结语

大风云 www.dfyun.com.cn 严格来讲不是传统 cdn ,它是另一种内容分发机制,基于传统 cdn 以及传统机房机器, 用软件技术实现资源整合,是应用层面的一种微创新,在图片访问,文件下载等这些场景下可以成倍地降低流量成本 ,成本低于 0.05G/元 , 降低到公有云 cdn 价格的四分之一以下(只对比平时价格,不考虑搞活动的临时特价),几乎是全网 cdn 流量成本最低之一了。

第 1 条附言  ·  2022-09-11 19:06:52 +08:00
现在 dfyun 提供最长一个月的免费试用期。申请的当月份,将完全免费。欢迎试用。https://www.dfyun.com.cn
第 2 条附言  ·  2022-12-01 13:35:24 +08:00
更新:现在 dfyun 已经支持绑定自定义域名。同时管理后台支持刷新节点缓存文件。
190 条回复    2023-08-21 09:36:05 +08:00
1  2  
Xusually
    1
Xusually  
   2022-09-05 09:38:12 +08:00
showdoc 作者啊,支持一下。
villivateur
    2
villivateur  
   2022-09-05 09:38:47 +08:00
类似的东西大厂早就做了吧?叫 PCDN ,用客户端来作为节点,比你这个成本更低
Xusually
    3
Xusually  
   2022-09-05 09:38:56 +08:00
不过貌似应该发到 promotion 节点啊
VBk
    4
VBk  
   2022-09-05 09:44:41 +08:00
@villivateur pcdn 不合法吧,大哥,现阶段其实好多 isp 都已经封锁这种行为了,实际上是薅家宽的羊毛。
star7th
    5
star7th  
OP
   2022-09-05 09:45:51 +08:00
@VBk
@villivateur

我是用正规机房机器,不会被运营商封。
enigmac
    6
enigmac  
   2022-09-05 09:46:05 +08:00   ❤️ 1
价格是不是弄错了 0.05G/元 ?
star7th
    7
star7th  
OP
   2022-09-05 09:48:33 +08:00
@Xusually 其实本文更多是分享创造的过程,也包含有产品的核心逻辑思路。只是最后放上一些链接来吸引下流量,不太严格的情况下,也可以说不算促销推广信息
star7th
    8
star7th  
OP
   2022-09-05 09:49:36 +08:00   ❤️ 1
@zainisthebestman 没弄错。你为啥会觉得我弄错了?
VBk
    9
VBk  
   2022-09-05 09:52:31 +08:00   ❤️ 1
@star7th 应该是 0.05 元 /G 吧
star7th
    10
star7th  
OP
   2022-09-05 09:53:59 +08:00
@VBk 对哦,我写错顺序了。数字是对的,单位倒序了。
luzemin
    11
luzemin  
   2022-09-05 09:55:34 +08:00
@star7th 确实是你写错了,0.05G/元(本文)---> 0.05 元 /G (你的官网)
Xusually
    12
Xusually  
   2022-09-05 09:56:44 +08:00
@star7th 目前 PCDN 上的比较多了,京东云的 MCDN 这种,也是传统节点、用户海量节点混合调度的,成本也是非常低,具体价格肯定不到传统 CDN 的一半,没有实际用过不清楚可以做到什么程度,估计不会比 OP 这价格高多少。

我看 OP 的 demo 图片链接是一个接入系统后的跳转链接或者说是调度链接,是不是不方便保持既有 URI ,还是有 URI 改造成本?
gesse
    13
gesse  
   2022-09-05 09:58:34 +08:00 via Android
我记得经营 cdn 貌似要相关拍照啊
stille
    14
stille  
   2022-09-05 10:00:02 +08:00
先收藏了,看起来有前景。
star7th
    15
star7th  
OP
   2022-09-05 10:00:25 +08:00
@Xusually 因为在我的设计方案里,是要保证“节点随时挂了”也能正常访问。所以,url 不能直接解析到节点 ip ,如果解析到的话,节点挂了,就挂了。而更高 dns 解析是有 10 分钟以上的延迟的。这个就会导致至少故障 10 分钟。所以,为了保证能实时避障,比如做 url 跳转。
star7th
    16
star7th  
OP
   2022-09-05 10:02:24 +08:00
@gesse 我本来就是用企业资质注册和备案网站的。牌照暂时是没申请。但是以后如果规模大了就申请吧。现在规模小,没人管这些。而且,我这个其实也不太算的上传统 cdn 服务,不过是一种流量转发思路而已。
Moker
    17
Moker  
   2022-09-05 10:03:15 +08:00
动手能力真的强
Xusually
    18
Xusually  
   2022-09-05 10:03:47 +08:00
@star7th 嗯,那就是了。
自建我以前也尝试过,就是你说的,切 DNS 解析可能各地有缓存,快的可能一分钟就好了,小运营商不遵循 TTL 的,慢的半小时都不一定能切过来。
Xusually
    19
Xusually  
   2022-09-05 10:05:19 +08:00
当时也考虑做调度转发,不过想想如果量小能接受 TTL 切换的 downtime 的话,那做了没意义。
量大的话,直接用商用方案成本也不太敏感了。

OP 这产品算是卡了一个位。
billzhuang
    20
billzhuang  
   2022-09-05 10:06:56 +08:00
你这个别人可以在你这儿接入备案么?

感觉已经算 IDC 了。
star7th
    21
star7th  
OP
   2022-09-05 10:10:39 +08:00
@Xusually 正如我文中说的,我正是因为考虑到 dns 解析时间差,所以才不能用现成的开源 cdn 方案,所以才自己写代码。
star7th
    22
star7th  
OP
   2022-09-05 10:11:55 +08:00
@billzhuang 我不允许别人绑定域名,必须用我自动生成加速域名。所以不存在备案问题。至于风控方面,我对每个接入的产品全部人工审核,只接备案过的产品。
dreamramon
    23
dreamramon  
   2022-09-05 10:12:46 +08:00
不知道 OP 是怎么来根据请求链路,保障速度的?
还是说,核心思路是,在 cdn 前面放了一个调度,通过找到比 cdn 价格还低的机器 /带宽,来省钱?
pkwenda
    24
pkwenda  
   2022-09-05 10:14:10 +08:00
@billzhuang 他目前应该只负责 CDN ,可能审核就是简单审核下要接入 CDN 的域名是否正确备案之类的吧
star7th
    25
star7th  
OP
   2022-09-05 10:15:46 +08:00
@dreamramon 我是你说的后者方案。我牺牲了一定的速度,只是这个速度在可接受的范围内。举个例子,用公有云 cdn ,加载一张图片需要 0.1 秒。而我这个可能需要 0.2 秒 。但实际访问网站过程中,用户对 0.2 秒加载的图片是无感知的,或者说可以忽略差异的
dreamramon
    26
dreamramon  
   2022-09-05 10:17:00 +08:00
@star7th #25 明白了,我也做了类似的东西。握爪 :)
billzhuang
    27
billzhuang  
   2022-09-05 10:17:19 +08:00
@star7th 我感觉应该反过来,只允许别人绑定已备案域名,不提供自动生成的加速域名。

不然很快被
weiwenhao
    28
weiwenhao  
   2022-09-05 10:17:29 +08:00
从客户的角度在机房少的情况下能节省成本,但是会牺牲访问速度和质量。
如果想要节约成本的同时还想保证质量,可以选择其他公有云平台的 pcdn 服务呀,合不合法的事情他们会替你考虑的。

做商用的话,如果人力比较少那估计也是能赚一些钱的。但是肯定比那些跑 pcdn 的成本高。
dreamramon
    29
dreamramon  
   2022-09-05 10:17:57 +08:00
但是难点是,长期来看,很难评估,这个 0.2s ,到底会是多少?是否真的无感知。
star7th
    30
star7th  
OP
   2022-09-05 10:20:07 +08:00
@billzhuang 所以人工审查非常重要,我只接受正常运营着的产品,并且我会考虑这个产品的使用群体等等。之所以不让用户绑定域名,是因为,如果要让用户绑定域名,那么就要用户提供 https 域名证书,以及其他解析等,都增加了一定维护麻烦。但是你说的风险情况是存在的,我后面看情况要不要让用户绑定自己的域名来规避我的域名风险。
jazzg62
    31
jazzg62  
   2022-09-05 10:22:17 +08:00
%%%%
zhouyg
    32
zhouyg  
   2022-09-05 10:23:54 +08:00
好奇"非热门地区的机房"这些是怎么联系上的?
star7th
    33
star7th  
OP
   2022-09-05 10:23:58 +08:00
@weiwenhao 总有些产品是愿意接受牺牲一定访问速度来降低成本的。特别是一些对速度要求不那么高的情况下(比如说图片做了异步懒加载等等) 。而且我这个只是慢一点点,不会影响正常使用的
inframe
    34
inframe  
   2022-09-05 10:26:32 +08:00
不如申请个专利😂
shoaly
    35
shoaly  
   2022-09-05 10:30:16 +08:00
@zhouyg 在你 一天 50g -> 1000g 的过程中, 自然就找到了
star7th
    36
star7th  
OP
   2022-09-05 10:30:45 +08:00
@zhouyg 这个就是我的竞争力之一的,毕竟要商业化吃饭的,所以我当然不能公开了。我只能说我背后有很多渠道搞到这些机房机器。
0bing
    37
0bing  
   2022-09-05 10:40:50 +08:00
沿海地区我有一些 idc 资源,楼主可以聊聊吗? UVE4NjAwODc2ODM=
lusi1990
    38
lusi1990  
   2022-09-05 10:48:43 +08:00
思路不错
pekingzcc
    39
pekingzcc  
   2022-09-05 10:49:27 +08:00
想法非常棒,而且是真的抓住了一部分用户的痛点,加油,希望你能做成这件事
kera0a
    40
kera0a  
   2022-09-05 10:50:05 +08:00
内容审核有措施么?
国内这块直接不通知掐网线封域名也是有可能的
star7th
    41
star7th  
OP
   2022-09-05 10:53:09 +08:00
@pekingzcc 嘿嘿,谢谢鼓励。
heronlyj
    42
heronlyj  
   2022-09-05 10:54:06 +08:00
之前也遇到过这种需求,下次可以尝试一下。多谢分享
star7th
    43
star7th  
OP
   2022-09-05 10:54:47 +08:00
@kera0a 目前接入的产品全部要经过我人工审核,要求你的产品本身已经域名备案,同时我会亲自体验产品,如果是打擦边球的,我不会让通过的。
至于通过之后的内容审核,目前没有,以后看情况增加吧。现在在用的,主要是我朋友的产品,都是比较靠谱的产品
pekingzcc
    44
pekingzcc  
   2022-09-05 10:58:29 +08:00
几个小隐患:
1 ,内容审核,小而美还可以,但是做大一些的话就要考虑了。
2 ,如果 CDN 厂商添加一些运营策略,比如价格分层,也做类似的牺牲一定速度的低成本流量,还是不是有优势。
3 ,在长远一些,低成本机器的自动扩所容
star7th
    45
star7th  
OP
   2022-09-05 11:02:43 +08:00
@pekingzcc 真的大到那种需要考虑这些的规模的时候,我已经赚大发了。此时肯定愿意投入更多成本去解决这样的问题的。目前这些都是麻烦但可解决的问题。
mway
    46
mway  
   2022-09-05 11:09:38 +08:00
@star7th 想加速海外站点,备案似乎绕不开?
Cmdhelp
    47
Cmdhelp  
   2022-09-05 11:10:08 +08:00
imgix,
cloudinary,
cloudflare
可以看看国外的,部分提供免费额度,
最近 在看国外的云产品,我的评价是“又快 又好用, 甚至还免费,甚至还强大”
airqj
    48
airqj  
   2022-09-05 11:25:42 +08:00
用来接入视频不知道行不行?
star7th
    49
star7th  
OP
   2022-09-05 11:26:28 +08:00   ❤️ 1
@mway 备案是绕不开的问题。严格一点来讲,不备案,在国内提供网站服务,是违法的。没人公开做生意的时候会冒着这个风险。所以你不备案,估计也没多少国内商家为你的网站提供服务。
star7th
    50
star7th  
OP
   2022-09-05 11:28:01 +08:00
@Cmdhelp 我认可你说的,国外的机器资源丰富,我如果去国外做此类生意,海真不会有太大竞争力。但是,在国内,带宽资源实在太贵了。所以做价格差是有一定的运作空间的。所以我弄这个,也许在国内有市场。
star7th
    51
star7th  
OP
   2022-09-05 11:29:07 +08:00
@airqj 不知道你说的视频是什么视频。如果是实时视频,那肯定不行。长视频也不行。只有那些小几 M 的短视频可以
airqj
    52
airqj  
   2022-09-05 11:31:06 +08:00
@star7th 十分钟以内的视频
star7th
    53
star7th  
OP
   2022-09-05 11:34:07 +08:00
@airqj 不看时长,看文件大小吧。如果只是小几 M 的话,那就当作是图片加速好了。再大一点的话,我不是很建议。因为我这个是低成本服务,利用的是小地方机房,延迟会比一般 cdn 大一点点,可能会导致你播放视频的时候加载慢。除非你在代码层面做异步加载什么的。
airqj
    54
airqj  
   2022-09-05 11:36:08 +08:00
@star7th 代码会处理好这种问题
慢点儿没关系 ,不要太慢就行
Asimov01
    55
Asimov01  
   2022-09-05 12:04:04 +08:00
@star7th 流媒体长视频都会提前切片,一个片大概也就几 M 大小,然后按顺序请求回客户端播放
star7th
    56
star7th  
OP
   2022-09-05 12:06:50 +08:00
@Asimov01 嗯嗯,只要对方做好切割也行。反正我这边是可以加速小文件的
licoycn
    57
licoycn  
   2022-09-05 12:13:11 +08:00
有没有流量控制这些功能
star7th
    58
star7th  
OP
   2022-09-05 12:15:21 +08:00
@licoycn 没有加。以后看客户需求要不要加吧
joesonw
    59
joesonw  
   2022-09-05 12:28:41 +08:00 via iPhone
有几个小问题望解答
如果是后面可以绑定自定义域名,岂不是每个节点都要被解析倒?还要放证书?
如果节点切换了,因为 uri 变了,客户端缓存是不是也失效了?
permaylau
    60
permaylau  
   2022-09-05 12:36:55 +08:00
楼主的大风云需要域名备案么?
xiaoz
    61
xiaoz  
   2022-09-05 12:50:16 +08:00
其实腾讯、阿里的代理商他们也能拿到 0.05/G 的价格。另外网址首页好像没有 title ?
xx3122
    62
xx3122  
   2022-09-05 13:05:29 +08:00
我有个需求,基于 nginx 的防火墙,屏蔽一些 ip 和 ua 之类的,想通过 cdn 或其他更加方便的方式给其他人使用,op 有更好的方案不?谢谢
star7th
    63
star7th  
OP
   2022-09-05 13:09:38 +08:00
@joesonw 所以自定义域名很麻烦,要同步证书什么的,不一定会提供。至于你说客户端缓存,是的,url 变了,缓存肯定失效
star7th
    64
star7th  
OP
   2022-09-05 13:10:11 +08:00
star7th
    65
star7th  
OP
   2022-09-05 13:12:52 +08:00
@xiaoz 我了解过了,腾讯云阿里云,只有非常大单的客户,才有可能拿到 0.07 左右的价格。要达到 0.05 的价格需要的规模更大大,中小网站就别想了。而我这个起步就是 0.05 的价格,还是有优势的。首页 titlel 的问题,后面再加
yuzo555
    66
yuzo555  
   2022-09-05 13:13:29 +08:00
如果流量够大,从大厂商那边拿到价格也可以低于 0.05 元 / GB 。
westoy
    67
westoy  
   2022-09-05 13:16:46 +08:00
成本不只是流量本身啊

审核、 硬防、 管理、容灾冗余、客户管理

CDN 外卖的都是摊进去算的, 你一旦提供商业方案, 这些也会成为你的成本的
star7th
    68
star7th  
OP
   2022-09-05 13:19:15 +08:00
@xx3122 我看不懂你的需求和使用场景,没有想好的解决方案。
star7th
    69
star7th  
OP
   2022-09-05 13:20:20 +08:00
@yuzo555 中小网站都不可能有这个流量规模,所以这块市场还是空白的
star7th
    70
star7th  
OP
   2022-09-05 13:25:34 +08:00
@westoy 规模没有足够大的时候,有些成本可以省掉。规模大了的时候,就自然有足够的经济支撑去解决这些问题了
mingsi
    71
mingsi  
   2022-09-05 13:31:47 +08:00 via Android
楼主强大,我曾经考虑过用家宽搞,自己用用,但没实际行动。
SakuraPGH
    72
SakuraPGH  
   2022-09-05 13:52:27 +08:00
我这边访问官网 cdn 图片访问 demo 时,图 1 和图 4 挂了
hankai17
    73
hankai17  
   2022-09-05 13:57:09 +08:00
2 ,调度服务器的作用是导流和容灾,将用户流量以重定向的方式导向可用的节点,同时避开故障节点,做到实时无缝切换。

3 ,节点服务器的主要作用是拉取源文件到本地缓存,从而被用户访问。

调度服务器跟节点之间维护一个文件白名单是吗? 白名单怎么同步?
star7th
    74
star7th  
OP
   2022-09-05 14:01:47 +08:00
@SakuraPGH 图 1 和图 4 我检查了下,它被调度到一个不常用端口。我这边访问正常,但据我所知,有些公司的网络会禁止员工的电脑访问非常用端口,可能导致无法限制。这个更多是公司网络防火墙限制。我晚点改一下节点端口为常用端口。
star7th
    75
star7th  
OP
   2022-09-05 14:02:48 +08:00
@hankai17 更细的技术细节就不透露了哈哈,毕竟要商业混饭吃,还是留一点技术门槛吧
ScepterZ
    76
ScepterZ  
   2022-09-05 14:11:27 +08:00
@joesonw 尽量少切换的话,应该大部分时候 uri 不会变,只有增减机器了的时候会变
whileFalse
    77
whileFalse  
   2022-09-05 15:42:23 +08:00 via iPhone
怎么解决用户侧网络不通 你服务器端网络通畅的问题?
pkwenda
    78
pkwenda  
   2022-09-05 15:48:51 +08:00
@whileFalse 用户侧网络不通,用正儿八经的 CDN 也无法解决吧?
airqj
    79
airqj  
   2022-09-05 16:09:53 +08:00
@yuzo555 我觉得满足你这个流量够大条件的公司 根本不会点开这个帖子 🐶
star7th
    80
star7th  
OP
   2022-09-05 16:20:57 +08:00
@whileFalse 用户自身的网络问题,服务端层面无法帮用户解决
h280254082
    81
h280254082  
   2022-09-05 16:22:29 +08:00
听起来核心竞争力不是说这一块的代码,而是你有能力搞到一些廉价资源。以及这个流量的计算是 1T/day 我理解其实只有 12M/s ?现在规模属于还可以忽略不计的成都?
算起来一天 50 元,一个月 1200 核算出来是 10w 每 G/s 每月 即使流量非常不均衡扩大个 10 倍 也是 1000w 元 每 T/s 每月 在比据我所知大厂的大客户价格高出不少了 在这么小规模的前提下只能做到这个价格,我理解是很难做大的
tomato1111
    82
tomato1111  
   2022-09-05 16:35:34 +08:00
有没有传统 CDN 的访问限制功能,比如黑白名单,Referer 来源,访问频率设置,时间戳校验,地域限制,回源鉴权?
star7th
    83
star7th  
OP
   2022-09-05 16:36:16 +08:00
@h280254082 看不懂你的意思。我好像没说过流量的计算是 1T/day ,不知道你说这个是什么概念。
star7th
    84
star7th  
OP
   2022-09-05 16:37:25 +08:00
@tomato1111 没有。一切从简。功能后面看客户需求慢慢加。
star7th
    85
star7th  
OP
   2022-09-05 16:41:17 +08:00
@h280254082 我说现在承受每天 1000G ,不代表只能承受 1000G 。实际上,很多节点都是几十上百 M 带宽的,合起来的累计带宽,只要节点数够的话,分分钟超过 12M/s 的速度。所以我不太清楚你是怎么得出这个结论的。另外节点数也布置能扩大 10 倍,架构设计合理的话,再增加 100 个节点也不是不行,这是扩展 100 倍以上。
wdhwg001
    86
wdhwg001  
   2022-09-05 18:55:14 +08:00
其实这个价格是比百度云加速要贵一点点的,对方最低是 0.038 元 /G ,限 500G/天,可以追加流量包。

很好奇你这边的节点数量、质量以及功能方面会不会更好一些。
winglight2016
    87
winglight2016  
   2022-09-05 19:10:12 +08:00
用域名 cname 的方式指向某个节点 ip ,当节点挂了的时候,由于域名 cname 解析变更有 10 分钟以上的缓存,所以必定会导致用户有一段时间的访问故障。

——lz 这个问题是不是不存在呀?一个域名可以配多个 ip ,dns 本来就可以通过轮询返回当前有效 ip 地址
star7th
    88
star7th  
OP
   2022-09-05 19:21:44 +08:00
@wdhwg001 只说平时价格,不说活动价格 /折扣价格,百度云应该没有 0.038 元 /G 吧。而且,它有流量限制,我是没有上限的。
star7th
    89
star7th  
OP
   2022-09-05 19:23:48 +08:00
@winglight2016 基于 dns 方案不可靠。“通过轮询返回当前有效 ip 地址“ ,你怎么判断有效呢。假如一个 ip ,虽然可以 ping 通,但它就是不可访问了(比如说慢,比如说软件上挂了),这个时候就不算是容灾了。
xmh51
    90
xmh51  
   2022-09-05 19:31:46 +08:00
@star7th 建议你审核内容,然后让其他人的备案域名在你这边用。单点风险太大了。这样死也只死一个域名。因为即使你审核了,也有意外情况,比如其他人服务器被黑了啥的。
winglight2016
    91
winglight2016  
   2022-09-05 19:32:17 +08:00
@star7th 哦,你说的是整体方案的考量,我以为你说的是网络层的可靠性。healthy 检查属于应用层的问题了,你的 cdn 是从应用层转发请求吗?这样从中心服务器绕一圈是不是会比较慢?
star7th
    92
star7th  
OP
   2022-09-05 19:33:43 +08:00
@xmh51 后续人多了,我考虑让用户自定义域名。虽然麻烦,但出于风控,可能是要考虑了。
star7th
    93
star7th  
OP
   2022-09-05 19:35:29 +08:00
@winglight2016 是要比直连节点 ip 要慢一点点的,但其实不会差很多。我的调度中心服务器直接跑在阿里云 k8s 集群上,测试整体单链接耗时大概 50 到 100 毫秒之间。延迟个几十毫秒,还能接受啦。
wdhwg001
    94
wdhwg001  
   2022-09-05 19:36:33 +08:00
@star7th 百度云加速是 6990/年,每天 500G ,折 0.0383 元 /G ,超出这个流量之后可以以 0.18-0.11 元 /G 的价格购买流量包。

所以在对比的时候,需要知道你这边的具体优势,比如节点和带宽的省市覆盖情况,可用的节点总数等内容,以便在低价 CDN 领域和老牌的百度云加速拉开差距。
star7th
    95
star7th  
OP
   2022-09-05 19:39:43 +08:00
@wdhwg001 那这么算下来,我的优势算是不设置上限吧,无论流量多少,统一单价。而且没有最低消费。这种按量计费可能更灵活,会有人更喜欢
xmh51
    96
xmh51  
   2022-09-05 19:39:49 +08:00
op 主,想法不错,在中国这个特殊的市场价值很大。希望 OP 能熬过同行攻击阶段。。
winglight2016
    97
winglight2016  
   2022-09-05 19:43:38 +08:00
@xmh51 #96 还有这种风险,万万想不到。。。的确隔行如隔山呀
star7th
    98
star7th  
OP
   2022-09-05 19:48:14 +08:00
@xmh51 你说的确实是个风险。我现在还很小规模,没有攻击价值吧。目前呢,我的节点机器带宽都挺大的,普通都有几十 M 上百 M ,同时机房本身有一定成都的防 dddos 。所以只能说硬件上暂时有点点防护能力,不至于小攻击一点就跨。但是大规模是有问题。这个等用户多了后再考虑这方面的风险。
wdhwg001
    99
wdhwg001  
   2022-09-05 19:57:09 +08:00
@star7th 所以三网、省市的节点数量和按三网、省市拆分后的可用吞吐量在当前是不披露公开的吗?
xx3122
    100
xx3122  
   2022-09-05 20:19:25 +08:00
@star7th 我有个需求是,我基于 nginx 弄得一个 waf ,屏蔽一些 ip 和 ua 等,通过反向代理给别人使用,但是每次新增一个就都需要人工配置一个反向代理、转发就太麻烦了,能否像你这样的 cdn 一样用户自己注册、配置 cname 之类的就行?谢谢
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1186 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 23:07 · PVG 07:07 · LAX 16:07 · JFK 19:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.