使用“扫一扫”即可将网页分享至朋友圈。
Web3底层基建?简析昨天CloudFlare服务中断的原因
Cloudflare是一家于2019年上市的CDN和安全服务公司,不过2022年6月21日(周二)因为它的服务暂时中断,影响了大量的服务和平台正常运营。包括FTX,Discord,Omegle,DoorDash等等。
本篇文章,会讲一下什么是CloudFlare,到底是个什么公司,CloudFlare和Web3的缘起,以及从技术上解释一下本次故障的原因。
本文结构
1.事件背景
2022年6月底(本周二)发生了什么?
2.什么是CDN(内容分发网络)
什么是CDN
什么是路由
CDN公司通常都是安全公司?
3.Cloudflare是个什么公司?
4.Cloudflare和Web3的缘起
IPFS&以太坊
5.Cloudflare为什么会发生服务中断?(技术分析部分)
和架构转型有关
本次服务终端的时间线和背景
补救和后续步骤
结论
事件背景
6月21日(周二)发生了一件事,就是因为Cloudflare的服务暂时中断,影响了大量的服务和平台正常运营。包括FTX,Discord,Omegle,DoorDash,Crunchyroll,NordVPN和Feedly等等、还有Zeroda,Medium.com,新闻媒体Register,Groww,Buffer,iSpirt,Upstox和Social Blade的,用户无法访问这些网站,甚至Coinbase,Shopify和英雄联盟也受到了部分影响。
本篇文章,会讲一下什么是CloudFlare,到底是个什么公司,CloudFlare和Web3的缘起,以及从技术上解释一下本次故障的原因。
什么是CDN(内容分发网络)
在讲Cloudflare之前,我们先普及一个概念(CDN)
什么是CDN?
CDN,全称为Content Distribute Network(内容分发网络 )或者Content Delivery Network;那么,什么是内容分发网络呢?是可以通过互联网互相连接的电脑网络系统,利用最近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
形象的说,CDN有点类似于京东物流模式,通过在全国各地建立物流点(缓存服务器),当有人从京东购买货物时(用户资源请求),京东上次可以根据用户的收货地址(CDN进行用户域名解析)找最近的或者最快的一个物流点进行派送(将访问用户连接到最近的缓存服务器进行资源传输)。
CDN服务可用于确保快速可靠地分发静态内容,这些内容可以缓存,最适合在网速庞大的网络中存储和分发,这样就能把主干网络通道空出来给必须实时传输的动态内容,比如网络直播,降低时延。
我们举个例子,比如有一家英国公司,主要客户也在英国,如果给这家公司建立网站,那么,通常会把网站服务器放在英国。但是,会存在延迟这样的情况,影响用户们的网站访问体验,不过,如果延迟是由于网络阻塞导致的,那么这种延迟是可以改善的。具体怎么改善呢?
主要是通过提高点到点之间的带宽、优化网络路由来解决这些问题。举个例子,比如从伦敦到牛津,增加这两地之间光纤的数量,就是最容易的提高带宽方法。
注意,这里光纤数量主要是我们建设基础设施如海底光缆、铁路和高速公路的时候,同时铺设的。因此,这些年我们用的带宽一直在增加,你可以把增加网络贷款理解为拓宽交通公路,就是个花钱铺设的事情。
路由
我们前面提到过网络路由,路由是啥呢?其实路由解决的主要问题,就是两点之间的通信,究竟走什么线路的问题。举个例子,一旦伦敦到牛津的出现网络堵塞,系统还可以选择其他路由。有点像智慧交通,互联网的路由优化也类似。所以这些年,尽管流量越来越大,但是网络性能也是一直在改善的。
通俗一点讲,就是给网站加速,部分网站由于原因使得打开变得极为缓慢,这就需要用CDN来进行加速。
CDN也是一类较为先进网络技术,解决内容在互联网上的分发问题。什么是内容分发网络呢?这与交通网络类似,也就是说,再快的飞机,也是有速度上限的,距离越远,延迟越长。网络也一样,如果距离远,就会出现网络延迟的情况。
所以如果某个欧洲用户想要访问美国网站的内容,CDN就是在欧洲建立一个服务器,把美国的内容翻译到这个服务器。当欧洲用户进入域名访问时,由于CDN运营商知道这个用户访问来自欧洲系统,就把欧洲服务器的IP地址给这个用户,用户自然就访问到欧洲的服务器了。
CDN公司通常都是安全公司?
属于CDN一个重要特点,是CDN天生具备安全属性,因为cdn对哪些人在访问用户的网络非常清楚,因此,可以帮助客户阻挡网站攻击。网络安全是cdn公司的一项增值服务,尽管cdn的出现,远远早于云计算,但是目前大家已经把cdn归类成云计算,原因是用户通常会根据使用量,来对cdn服务进行按月付费和按照流量付费,这其实属于典型的云计算订阅模式,同时cdn的服务器也不一定就是传统的物理服务器,这些服务器可能也是来自公有云运营商的虚拟机,所以现在你完全可以把CDN看成一个云计算的IaaS服务。
注:本部分关于CDN的解释内容,部分来自于Youtube博主老科谈科技股
Cloudflare是个什么公司?
2010年,Cloudflare正式创立,总部位于美国旧金山。是一家以其 CDN 和安全服务为主营业务的公司,Cloudflare公司的主营业务是向客户提供基于反向代理的内容分发网络及分布式域名解析服务(Distributed Domain Name Server)。从2009年开始,该公司由Union Square Ventures等风险投资参投,百度也参与了Cloudflare的D轮融资, 2019年8月15日,Cloudflare正式IPO。
除此之外,Cloudflare收购了一系列网络服务和安全公司,2014年收购StopTheHacker 、CryptoSeal;2016年收购Eager Platform Co.;17年及以后收购Neumob、S2 Systems、Linc、Zaraz;今年收购了Vectrix和Area 1 Security.
Cloudflare和Web3的缘起
Cloudflare是比较早就开始支持Web3开发的CDN公司,它的官网是这么说的:Cloudflare是用户通往Web3的门户,通过Cloudflare,可以轻松访问IPFS和Ethereum网络。并且,官网提到,Web 1.0让世界有了快速传播信息的能力,而Web 2.0则让这些信息具有互动性。Web 3.0,或Web3,被认为是互联网的下一次迭代,建立在IPFS和以太坊等去中心化的技术之上。
图片来自Cloudflare官网
Cloudflare具备 IPFS Gateway,客户可以在继续使用HTTP协议的时候,同时享受IPFS的好处。
Cloudflare以太坊网关允许客户使用自己的域,可以通过 HTTP 的 JSON RPC 查询发送到自定义域名。Cloudflare可以管理、维护和监控Web3基础设施,构建者可以专注于重要的事情:构建Dapp。Cloudflare可以通过行业内领先的全球网络,创建基于Web3技术的安全、可靠和快速服务。
Cloudflare为什么会发生服务中断?
2022年6月21日的Cloudflare服务中断事件的官方解释:
2022 年 6 月 21 日,Cloudflare 服务中断,影响了 19 个数据中心的正常运行,而不幸的是,这19个地点处理了Cloudflare很大一部分全球数据。这次服务中断是由一个长期运行项目出现的问题引起的,这个项目主要是想提高最繁忙数据中心的弹性而发起的。是因为,更改了部分位置的网络配置,而导致服务中断,中断的具体时间是从UTC 时间 06:27 开始,到了 06:58 UTC,第一个数据中心重新开始工作,到 07:42 UTC,所有数据中心都可以正常工作。根据用户在世界上的不同位置,可能无法访问依赖 Cloudflare为基础设施的网站和服务,不过在其他没有受影响的地点,Cloudflare继续正常运行。
对此次中断,Cloudflare 深表歉意,这是Cloudflare 的错误,而不是因为攻击或其他恶意活动的。
本次架构转型的背景
在过去 18 个月,Cloudflare 一直致力于将所有最繁忙的数据中心的架构转型,让它们更为灵活、且更具弹性。目前,已经有19个数据中心,成功转换为此架构,Cloudflare内部称其为Multi-Colo PoP(MCP);这19个数据中心分别位于:阿姆斯特丹,亚特兰大,阿什本,芝加哥,法兰克福,伦敦,洛杉矶,马德里,曼彻斯特,迈阿密,米兰,孟买,纽瓦克,大阪,圣保罗,圣何塞,新加坡,悉尼和东京。
这个新架构被设计成Clos网络,它的一个关键部分是增加了一个额外的路由层(见下图),创造了一个网状的连接。这个网状结构使我们能够轻松地禁用和启用数据中心的部分内部网络,以便进行维护或处理问题。这一层由下图中标识为的Spine部分表示。
注:Clos network是一种多级交换网络,由Charles Clos于1953年首次正式使用该术语,它代表了实际多级电话交换系统的理想化表示。当物理电路交换的需求超过了单crossbar switch的最大可实现容量的时候需要使用Clos network。Clos network的主要优势点在于:所需的交叉点数量远小于整个交换系统使用一个大的Crossbar Switch来实现所需的交叉点数量。
这种新的架构显著改善了Cloudflare的可靠性,可以使Cloudflare能够在这些地方进行维护,并且不中断客户流量。不过,由于这些地点同时也承载着Cloudflare流量的很大部分,任何这里的问题都会产生非常广泛的影响,不幸的是,这就是6月21日Cloudflare服务终端的原因所在。
服务中断的时间线和影响
Cloudflare应用了名为BGP的协议(边界网关协议,Border Gateway Protocol,是运行于 TCP 上的一种自治系统的路由协议 )。该协议的由运营商定义政策,决定有哪些前缀(相邻IP地址的集合)会被广播给对等的节点(他们连接的其他网络)。这些策略有单独的组成部分,按顺序进行评估。最终的结果是,任何给定的前缀要么被广播,要么不被广播。政策的变化可能意味着以前会广播的前缀不再被广播,被称为 "撤销",这些IP地址将不再能在互联网上正常运行。
运营商制定了某种策略,决定某些路由前缀可以被广播(这里的广播指的是,路由可以被其他边缘bgp路由器学习到,进而其他的bgp网络知道这些路由变化,前缀就是prefix,是用来唯一地标识着连入Internet的一个网络号)
前缀通告策略更改时,术语的重新编排,导致Cloudflare必须撤回前缀的关键子集。
政策的变化可能意味着以前会广播的前缀不再被广播,Cloudflare工程师在受影响的数据中心,对有问题部分进行恢复时,就遇到了额外困难,不过Cloudflare有处理此类问题的备份程序。
03:56 UTC:Cloudflare将更改部署到第一个(数据中心)位置,所有位置都没有受到此次更改的影响,因为这些位置使用的旧的架构。
06:17:部署更改到Cloudflare最繁忙的地点,但是没有部署到具备 MCP(Multi-Colo PoP) 体系结构的位置。
06:27:部署到达了启用 MCP (Multi-Colo PoP)的位置,并且更改已部署到关键部位。这是服务中断事件开始的时候,这个时候,19个数据中心迅速离线。
06:32:Cloudflare内部宣布本次服务中断事件。
06:51:在路由器上进行的首次更改,以验证根本原因。
06:58:排查故障,找出根本原因,还原出现问题的部分
07:42:最后一次还原已完成,网络工程师开始检查对方的更改,还原状态,此时问题偶尔重新出现,因此延迟了一点。
08:00:服务中断事件结束。
这些数据中心的重要性,可以从下图全球范围内处理的成功HTTP请求的数量中清楚地看出:
尽管这些出问题的数据中心,仅占Cloudflare总网络的 4%,但这次中断影响了总请求的 50%;
(本部分有小部分代码,此处略去,感兴趣的网络工程小伙伴可查看原文:
https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/)
补救和后续步骤
本次服务终端事件造成了广泛且严重的影响,Cloudflare一贯对可用性是非常重视,目前已经提出了几个需要改进的领域,而后将继续努力,发现可能潜在导致服务终端的所有问题。
流程:虽然 MCP 计划旨在提高可用性,但我们在更新这些数据中心方面的程序性差距,导致造成了严重影响。虽然Cloudflare确实为设计了交错策略,但是它并不完美,部署过程和自动化中,需要包含 MCP 的测试和具体部署过程,以确保不会产生意外后果。
架构:路由器配置的错误会阻止正确的路由广播,从而阻止了正常流量和基础设施的运行。Cloudflare将会重新设计路由广播的策略语句,防止排序的错误。
自动化:Cloudflare自动化套件中有可以降低此事件负面影响的部分。Cloudflare将专注于自动化改进,为网络配置的推出强制实施改进的交错策略,并提供自动 "提交-确认 "回滚。前者将大大降低整体影响,后者将大幅度减少事件中的解决时间。
结论
尽管Cloudflare在MCP架构设计上投入了大量资金,提高服务可用性,但在本次服务中断事件中,让客户失望了。对于服务中断期间,无法访问互联网和数字资产的客户,以及所有用户,Cloudflare深表歉意,已经开始着手进行所有的改进和优化,努力确保类似情况不会再次发生。
【参考文献】
CDN解释部分:Youtube-老科谈科技股-Cloudflare
企辰科技:云、CDN、IDC 三个概念的区别是什么?
https://techcrunch.com/2022/06/21/cloudflare-outage-crypto-exchanges/
https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/
https://techcrunch.com/2022/06/20/cloudflare-outage-knocks-popular-services-offline/
https://en.wikipedia.org/wiki/Cloudflare#cite_note-13
https://en.wikipedia.org/wiki/Cloudflare
https://baike.baidu.com/item/%E8%BE%B9%E7%95%8C%E7%BD%91%E5%85%B3%E5%8D%8F%E8%AE%AE/2987527?fromtitle=BGP%E5%8D%8F%E8%AE%AE&fromid=1989644&fr=aladdin
https://www.cloudflare.com/zh-cn/web3/
“广东财经网”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服邮箱1098101642@qq.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
- 声音提醒
- 60秒后自动更新
【民政部回应何时恢复婚姻登记】民政部社会事务司二级巡视员杨宗涛表示,婚姻登记场所是人群聚集场所,部分地区暂停婚姻登记工作是对人民群众安全负责。未停止登记的地方推广用电话、网络、qq群预约登记,控制登记人数,分批分段登记,减少人员聚集和在登记机关停留时间。已停止婚姻登记地方将根据当地疫情控制情况逐渐恢复。
15:54欧洲央行副行长金多斯:欧洲央行还没有达到逆转利率。宽松政策的副作用更明显了。
15:54财经网站Forexlive分析师Justin Low评瑞士1月CPI月率:尽管通胀年率保持稳定,但核心通胀率有所下降,这一点令人更加担忧。这只是进一步巩固了瑞士央行维持现有货币政策不变,并可能在未来寻求更多宽松措施的观点。
15:54【武汉两大批发市场商户开业率超过80%】商务部市场建设司司长朱小良10日称,目前武汉生活必需品供应基本正常,除冷鲜肉、鲜叶菜等少数品种存在结构性短缺外,大部分重要生活物资供应充足,未发生明显抢购或脱销断档情况。当地白沙洲和四季美两大批发市场正常营业,商户开业率超过80%,日交易量上升至3000吨以上。(国是直通车)
15:53【日本2019年经常项目顺差增长4.4%】日本财务省10日发布的国际收支初步统计报告显示,主要受外国人入境游消费扩大影响,2019年日本经常项目顺差增长4.4%。报告显示,2019年日本经常项目顺差为20.06万亿日元(1美元约合109.8日元)。其中,商品贸易方面,由于液化天然气价格下跌等因素,进口下降5.6%至75.56万亿日元;由于汽车部件及钢铁等产品出口减少,出口下降6.3%至76.12万亿日元。货物贸易顺差减少53.8%,为5536亿日元。(新华社)
15:53欧元兑美元EUR/USD短线波动不大,现报1.0952。
15:53瑞士1月CPI年率:0.2%,前值:0.2%,预期:0.1%;瑞士1月CPI月率:-0.2%,前值:0%,预期:-0.2%。
15:52英镑兑美元GBP/USD短线走低13点,现报1.2890。
15:52【宁德时代“供电”国产特斯拉 有望拉低售价20%】全国乘联会秘书长崔东树分析认为,“随着特斯拉国产化率提升和产能爬坡,未来特斯拉国产车型的价格下探空间还是很大的。”他预计今年下半年,国产Model 3车型的售价就有望降至25万元,降幅接近20%。(新京报)
15:51【内蒙古:对不裁员或少裁员企业返还上年度50%失业保险费】据内蒙古新型冠状病毒肺炎疫情防控工作指挥部消息,疫情期间,内蒙古对不裁员或少裁员的企业返还上年度实际缴纳失业保险费的50%,对面临暂时性经营困难的中小企业,返还标准提高到上年度6个月企业及其职工缴纳社会保险费的50%。
15:51【商务部:2019年服务进出口总额54152.9亿元 同比增长2.8%】商务部新闻发言人表示,2019年,在服务贸易创新发展试点等政策的激励下,我国服务贸易总体保持平稳向上态势,逆差明显下降,结构显著优化,高质量发展成效初步显现。全年服务进出口总额54152.9亿元(人民币,下同),同比增长2.8%。其中,出口总额19564.0亿元,同比增长8.9%;进口总额34588.9亿元,同比减少0.4%。(第一财经)
15:51【振华股份:疫情导致下游客户开工推迟 产品库存上升】振华化学公告,公司目前生产经营稳定,所有产能均正常开工,原材料采购能基本满足生产需要,由于疫情导致下游客户开工推迟,公司出货量减少,产品库存有所上升。公司将根据客户需求、疫情及市场变化,适度调整生产经营策略,尽可能保持生产经营的稳定。
15:50环旭电子2月10日晚间公告,公司2020年1月合并营业收入为23.27亿元,较去年同期的合并营业收入减少27.83%,较2019年12月合并营业收入环比减少37.23%。
15:49精测电子:与京东方集团签订了多份销售合同,合同累计金额达到6.96亿元。
17:12华夏银行:银保监会同意本公司在全国银行间债券市场发行不超过100亿元人民币的金融债券,募集资金全部用于绿色信贷。
17:03