2024最流行的网站架构----边缘平台架构:概念与产品

作者: 阮一峰

日期: 2024年3月26日

互联网开发的核心是什么?

答案可能就是网站架构。你要选择一个合适的架构,用来组织代码,然后在服务器跑起来。

今天,我想给大家介绍,眼下最流行的一种网站架构。它非常合理,效果极佳,而且借助云服务商提供的工具,架设非常容易。

它就是本文的主题----边缘平台架构(edge platform)。

大家可能经常听到"edge"(边缘)这个词,但是未必了解它的意思。我尽量用通俗的语言,解释什么是边缘,什么是边缘平台架构,它的优势在哪里,以及怎样利用边缘平台,架设自己的网站。

一、从"服务器-客户端"谈起

为了理解边缘平台,需要从最基本、最传统的"服务器-客户端"(server-client)架构讲起。

在"服务器-客户端"的架构下,存在一个中心服务器,所有客户端都向它发出请求。

这种架构的优点是简单易行,缺点是中心服务器是一个单点依赖。一旦访问量大,可能会有性能问题,还可能中断服务。

而且,中心服务器的物理位置是固定不变的,导致用户的访问速度与地理距离有关。同样条件下,离服务器越近,访问速度越快;离服务器越远,访问速度越慢。

二、CDN 的出现

为了减轻中心服务器的负担,更是为了拉近与用户的地理距离,CDN 架构就出现了。

CDN 的想法很简单,就是在各地的机房中设置大量的节点服务器,把每次访问都不变的静态资源文件,复制到这些服务器上面。

用户访问时,涉及静态文件的请求就不会发到中心服务器,而是通过 DNS 系统,发到地理位置最靠近的节点服务器,由后者负责响应用户。

这样的设计,既减少了发往中心服务器的请求,也减少了用户与静态文件之间的物理距离,从而加快了访问速度。

三、边缘的概念

大家可能注意到了,CDN 架构中存在两种不同作用的服务器。

一种是中心服务器,负责数据计算和存储;另一种是节点服务器,负责发送静态资源文件。

由于节点服务器是在架构的外围,为了跟中心服务器相对应,人们就把起到外围辅助作用的节点服务器,称为"边缘服务器"(简称边缘)。

就像上图中,中心服务器在云端(cloud),它的外围是边缘服务器(edge),然后才是用户(user)。

边缘服务器有一个重要特征,它是距离用户最近的服务器。人们有时候提到"边缘",就特指最靠近用户的那组节点服务器。

四、边缘平台架构

CDN 架构只是把静态文件放到了边缘服务器,数据计算和数据存储还是在中心服务器,对于用户来说,这部分可能还是很慢。

很自然地,大家就想到了,能不能把数据计算、数据存储也放到边缘服务器呢?

答案当然是完全可以。只要把数据计算设计成不涉及状态的云函数,把数据存储限制在没有一致性要求的数据,它们就都可以放到边缘服务器。这就是边缘计算边缘存储的由来。

这样的话,数据计算、数据存储、文件下载,都由距离用户最近的边缘服务器处理,网站的响应速度就会整体提升。

由于边缘服务器这时具备多种功能,实际上就升级成了边缘平台,CDN 架构就变成了边缘平台架构。

在这种架构下,你的网站有许多个实例,分布在每一组边缘服务器上。用户访问的总是距离最近的那个实例。

注意,中心服务器这时还是存在的,只是它的工作主要变成了协调和同步边缘服务器,而不再是直接与客户端交互了,客户端只与最近距离的边缘服务器直接联系。

五、国外的边缘平台

国外很多新兴的云服务商,现在都主推边缘平台架构。

世界最大的 CDN 服务商 Cloudflare,早就不限于 CDN 服务了。它的边缘服务器除了存放静态文件,还可以进行云计算、数据库读写、图像处理等许多功能。

其他的云服务商 Vercel、Netlify、Netflix、Deno Deploy 提供的都是类似的服务。

国外的这些边缘平台,有一个最大的缺点,那就是服务器都在境外,基本没有中国大陆境内节点。

对于境内访问者,没有境内节点,就完全发挥不出边缘服务器响应速度快的优势。所以,如果你有境内的访问者,建议考虑使用国内的边缘平台。

六、腾讯云边缘平台 EdgeOne

根据官网,腾讯云的 EdgeOne 是"中国云服务商中首家提供安全加速一体化的边缘平台"。我自己也使用这个产品,对它比较熟悉。

下面,我就拿它举例,大家可以看看,真实的边缘平台是什么样的。

作为边缘平台,需要满足三个条件。

首先,必须有全球分布的大量节点。EdgeOne 基于腾讯云,目前全球节点有3200+,覆盖了100+的国家与地区。不管用户在哪个地方,都能找到就近的节点。

如果某个节点饱和或发生故障,也可以切换到其他节点,保证站点的可用性。

其次,必须有海量的带宽,否则难以经受大访问量的冲击。EdgeOne 的总带宽达到 160Tbps+,足以抵抗大流量业务的突增。

再次,必须集成大量功能,方便用户使用。EdgeOne 把腾讯云的能力,几乎都搬到了边缘服务器。具体来说,它集成了以下能力,有一些突出的技术亮点。

(1)全球的 CDN 加速。EdgeOne 是腾讯云的下一代 CDN,在底层对境内加速和境外加速分别作了适配,用户不再有感知。

(2)Web 应用防火墙。它不限制用户的 QPS(每秒请求数),提供智能 CC 防护,通过全平台流量分析,统计并识别正常业务和突增流程特征,制定动态适应策略。同时精准有效拦截 Web 漏洞威胁,抵御 SQL 注入、XSS 等多种攻击,保障站点健康可用。

(3)边缘函数。只需编写简单的函数,无需考虑服务器等基础设施,就可以在边缘节点上运行自己的代码。

(4)自定义安全策略。用户可以指定5条自定义拦截规则,实现个性化的管控需要。用户还可以实现基于黑名单及白名单的 IP 管控和区域封禁。

(5)DNS 解析服务。它的每个边缘节点上都预备域名解析能力,1个站点可以设置300个子域名。

(6)用户行为分析和日志记录。它会分析和监控异常流量,发现各种机器人爬虫,并提供详细的日志图表,以及各种访问者指标。

综上所述,边缘平台实际上是一种 All in one 的产品,属于 CDN 的升级版,多种功能集于一身,并提供简单的使用接口,极大地方便了用户

这里插一句,EdgeOne 的产品全称是"边缘安全加速平台",在边缘平台的产品基础上,特别突出了安全和加速两大特点,作为主要的功能卖点。

七、边缘平台的应用案例

读到这里,大家对边缘平台是什么产品,应该已经有一个大致的了解。

你可能还会有疑问,在真实的生产环境中,它的作用到底有多大?

下面是一些从 EdgeOne 官网摘录的真实案例,大家可以感受一下边缘平台对网站表现的巨大帮助。

(1)游戏行业。某大型热门游戏用了边缘平台以后,请求耗时改善60%,同时成功防护了 DDoS 攻击,攻击的峰值流量达到 2.04Tbps。

(2)社交文娱行业。某短视频的头部平台用了边缘平台,降低20%卡顿率和50%播放失败率,在部分东南亚国家性能改善高达100%,同时全面过滤海量攻击流量,保证直播等业务正常运行。

(3)电商零售行业。在边缘平台上,电商平台完成了所有商户域名的便捷接入,还能自动颁发和更新免费 HTTPS 证书。

(4)金融行业。边缘平台大幅提高金融服务的访问性能,保证网银、手机银行,信用卡都获得了安全加速。

(5)全球办公。在全球协同办公场景下,边缘平台优化国内与海外办公系统连接时的访问速度,提高办公效率和访问体验。

总之,只要你的网络服务,对访问速度和安全防护都有较高的要求,就可以考虑使用边缘平台

尤其对于那些有出海需求的国内企业,既要全球加速,又要防御各类攻击,像 EdgeOne 这样的边缘平台应该是首选的网站架构。

八、边缘平台动手试

大家千万不要觉得,边缘平台是大企业的专用产品,个人和小企业其实也完全可以用上边缘平台。它的功能并不区分访问量的大小,都统一适用。

再说,看了这么长一篇介绍,你难道不想动手试试吗?只有亲自上手,才能真正学会。

EdgeOne 刚刚进行了产品更新,发布了基础版和个人版。下面,我就以它为例,演示一下如何上手边缘平台的两大核心功能----网站加速和安全防护。

(1)网站加速。这跟 CDN 的操作是一样的,只需要一步操作,把域名交给边缘平台接管就可以了。

进入EdgeOne 的主页,点击"立即使用"。

它会提示你"添加站点",输入自己网站的域名即可。注意,该域名必须此时已经可以访问了。

然后,系统会问你选择哪一种套餐,初学者选择"个人版"即可。

接着,它会要求你设置加速区域和 DNS 接入模式。

加速区域就是哪些区域的边缘服务器将会生效,一共有三种可选----全球,中国大陆,中国大陆以外地区。

DNS 接入模式是最关键的部分,一般情况下,都是选择把域名的 DNS 服务器迁移到边缘平台。对于那些不方便迁移的用户,EdgeOne 还提供了另一种选择,将域名的 CNAME 记录指向 EdgeOne 即可。

然后就是最后一步,设置 DNS(或者 CNAME)的细节。

一旦 DNS 设置完成,边缘平台就会接管所有发往该域名的请求,分配给最近的边缘服务器,加速就自动实现了。

(2)安全防护。一旦边缘平台开始生效,就会检查所有请求,EdgeOne 会自动识别和过滤掉 DDoS 攻击和恶意请求。

这部分不需要用户设置,某些情况下,用户可能希望过滤掉具有指定特征的请求,那么就需要自定义拦截规则。

下图是设置某个服务的海外版,只接受海外用户访问,不接受来自中国大陆的请求。

下图则是同时设置两个条件,只有来自 IP 地址1.1.1.1的请求,才能访问指定路径(后台)。

九、总结

从上一节的操作步骤,大家可以看到,虽然边缘平台本身是一个复杂的产品,但是所有的复杂性都被封装了,用户的操作是非常简单的。

如果你希望自己的网站,对所有访问者都有良好的速度,能够应付瞬间的大流量,并且还有足够的服务器安全性,同时又不必支付高昂的费用,用多少付多少,那么 EdgeOne 这样的边缘平台架构就是你的最佳选择。

它把加速和防护赋予了每个开发者,让你的产品更安全、更易用、更开放,还节省成本。

EdgeOne 本次产品更新后,推出了力度很大的优惠,个人版第一年的费用不到4元/月,为大家学习和试用创造了良好的条件。

大家可以扫描加入产品交流群了解产品更多动态,或者访问这个链接,以优惠的价格用上边缘平台。

(完)

留言(19条)

好多自建CDN早这样做了,现在大公司将它们产品化了

博客用了 EdgeOne 几个月了。
除了文中提到的这些,不确定是不是国内首家(?)支持 Anycast 的。

自建CDN的成本想想有多大,只有很大型的公司才有这么雄厚的财力。CDN产品化其实跟亚马逊当初把服务器云化类似。

阮老师好
现在网道无法打开 还烦请您看下

我倒是更期待什么时候大陆能有还算合适的 cloudflare tunnel 的替代品...

有利有弊,过渡跟云厂商绑定,未来在价格、客户需求和政府管控等方面遇到问题的时候,修改的成本很大。我们公司以前大量使用AWS的Lambda和step functions这些serverless的服务,现在因为价格问题和用户的要求,全面改造成基于k8s开发

“只要把数据计算设计成不涉及状态的云函数,把数据存储限制在没有一致性要求的数据,它们就都可以放到边缘服务器。”

大佬,这个部分具体怎么处理,可以展开讲讲不?

引用牵牛的发言:

阮老师好
现在网道无法打开还烦请您看下

目前移动端可以打开 pc无法访问

引用牵牛的发言:

阮老师好
现在网道无法打开还烦请您看下

确实打不开了,下午还想看会ts来着,没想到已经有同学反馈了

引用牵牛的发言:

目前移动端可以打开pc无法访问

刚试过,我这里pc端可以打开

“把数据存储限制在没有一致性要求的数据” ,阮老师这句话怎么理解,有哪些手段可以做到?

引用swi的发言:

刚试过,我这里pc端可以打开

目前我的pc还是打不开
现在只能用手机看

2024年刚开始,你怎么知道这就是最流行的。

引用牵牛的发言:

阮老师好
现在网道无法打开还烦请您看下

貌似被墙了

只要把数据计算设计成不涉及状态的云函数,把数据存储限制在没有一致性要求的数据,它们就都可以放到边缘服务器。


我觉得这个得加粗

随着云原生诞生,边缘计算已经炒了七八年了,目前主流的边缘计算,不仅仅局限CDN、PCDN了,亮点主要是边缘节点跑容器支持各种类型业务场景,比如rancher公司开源的k3s、华为开源的kubeenge、阿里开源的OpenYurt,腾讯的边缘计算只能说是模仿再模仿吧。

那么部署在边缘云的网站,请求后端接口,可能涉及查询数据库等操作,这种边缘云平台好像没有发挥什么作用。

或者这个问题本身不合理,请给出指正,谢谢!

有什么能力是边缘服务器替代不了中心服务器做的吗,如果没有,那本质不就是扩展了多个离用户更近的中心服务器。

中国电信的天翼云的AOne边缘安全加速平台是不是就这种平台呢

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接