4

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

 4 weeks ago
source link: http://www.ruanyifeng.com/blog/2024/03/edge-platform.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

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

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

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

bg2024031307.webp

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

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

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

bg2024031214.webp

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

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

二、CDN 的出现

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

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

bg2024031215.webp

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

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

三、边缘的概念

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

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

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

bg2024031308.webp

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

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

四、边缘平台架构

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

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

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

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

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

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

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

五、国外的边缘平台

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

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

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

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

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

六、腾讯云边缘平台 EdgeOne

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

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

bg2024031401.webp

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

首先,必须有全球分布的大量节点。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 官网摘录的真实案例,大家可以感受一下边缘平台对网站表现的巨大帮助。

bg2024031402.webp

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

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

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

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

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

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

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

八、边缘平台动手试

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

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

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

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

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

bg2024031811.webp

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

bg2024031812.webp

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

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

bg2024031813.webp

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

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

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

bg2024031814.webp

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

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

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

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

bg2024031914.webp

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

bg2024031915.webp

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

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

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

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

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

bg2024032501.webp

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK