互联网开发的核心是什么?
答案可能就是网站架构。你要选择一个合适的架构,用来组织代码,然后在服务器跑起来。
今天,我想给大家介绍,眼下最流行的一种网站架构。它非常合理,效果极佳,而且借助云服务商提供的工具,架设非常容易。
它就是本文的主题----边缘平台架构(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元/月,为大家学习和试用创造了良好的条件。
大家可以扫描加入产品交流群了解产品更多动态,或者访问这个链接,以优惠的价格用上边缘平台。
(完)