Cloudflare真好玩

在nisama强烈的推荐下我怀着好奇的心态开始了cloudflare的疯狂踩坑,无非是这一个月挺多了nisama关于‘啊无服务器实在是太爽啦’,‘白嫖真爽啊’,‘嗯,白嫖下次还白嫖’,CloudflareNYSENET)是一家总部位于旧金山的美国跨国科技企业,以向客户提供基于反向代理内容分发网络(Content Delivery Network, CDN)及分布式域名解析服务(Distributed Domain Name Server)为主要业务。利用 Cloudflare 全球任播网络,Cloudflare可以帮助受保护站点抵御包拒绝服务攻击等网络攻击,确保该网站长期在线,同时提升网站的性能、加载速度以改善访客体验。嗯cloudflare是最富盛名的cdn服务商,不过虽然它很香但抵不住它贵啊,cloudflare上很多体验良好的服务都是收费的,当然一提到cdn最优秀的服务商当然是cloudflare(?当然对于cloudflare上提供的免费cdn当然没有逃过可爱的勤劳的中国人民撸羊毛的机会,于是你会简单不管是网站,各种稀奇古怪的应用甚至是各种梯子都在用cloudflare做CDN,毕竟入口带宽也是有限的,这就导致在用网高峰期甚至是日常使用的响应速度不尽如人意,当然也是因为毕竟也是国外的节点啦,下图为我2021年3月8日的测试结果。

https://npm.elemecdn.com/youmingsama_pic@1.0.0/PicGo_1/img2/ping.png

ping 1.1.1.1

1.1.1.1是一款免费的域名解析服务,也就是域名服务器,由CloudFlare与APNIC共同拥有与维护。该服务于2018年4月1日发表启用且被Cloudflare称为“互联网最快、以隐私优先的消费者端DNS服务”(the Internet’s fastest, privacy-first consumer DNS service)

当然做为一个正经人我并没有怎么薅过cloudflare的羊毛,当然让我对cloudflare直呼真香的也并他们的cdn而是他们的Cloudflare Workers!!不过在疯狂踩坑之前有必要了解一下和Cloudflare Workers有关的无服务器计算

关于这点我想cloudflare的文档提供了详细的解释

无服务器计算是一种按需提供后端服务的方法。无服务器架构允许用户编写和部署代码,而不必担心底层基础设施。从无服务器提供商获得后端服务的公司将根据其计算量来付费,而不必保留和支付固定数量的带宽或服务器,因为该服务可自动扩展。请注意,尽管称为无服务器,但它仍使用了物理服务器,只是开发人员不需要考虑它们的存在。

在Web早期,任何想要构建Web应用程序的人都必须拥有运行服务器所需的物理硬件,这是一项繁琐而昂贵的工作。

之后是云,可以远程租用固定数量的服务器或一定数量的服务器空间。租用这些固定服务器空间单元的开发人员和公司通常会过度购买,以确保流量或活动的激增不会因为超过每月限额而中断其应用程序。这意味着通常支付的大部分服务器空间都浪费了。云供应商已经引入了自动扩展模型来解决该问题,但是即使是自动扩展,也可能因为恶意活动激增(例如 DDoS 攻击)而产生非常昂贵的成本。

https://mmbiz.qpic.cn/mmbiz_svg/YCOL3hU8ffVSTER85xDYOeUic2rwibjPJhsoH4UjaRq8k8h39rToKe9g0naevnOicwbqt9BItowWDJl1iaODP7cwYFrM9Gb96KNT/640?wx_fmt=svg&wxfrom=5&wx_lazy=1&wx_co=1

无服务器计算允许开发人员在灵活的“按需付费”的基础上购买后端服务,这意味着开发人员仅需为使用的服务付费。这就像从每月固定限额的手机数据套餐切换到只为实际使用的每个字节数据收费的套餐一样。

“无服务器”一词在某种程度上具有误导性,因为它仍然有服务器提供这些后端服务,但是所有服务器空间和基础设施问题都由提供商处理。无服务器意味着开发人员可以完全不用担心服务器。

什么是后端服务?前端和后端之间有什么区别?

应用程序开发通常分为两个领域:前端和后端。前端是用户看到并与之交互的应用程序部分,例如视觉设计。后端是用户看不到的部分。其中包括应用程序文件所在的服务器以及持久存储用户数据和业务逻辑的数据库。

https://mmbiz.qpic.cn/mmbiz_svg/YCOL3hU8ffVSTER85xDYOeUic2rwibjPJhNZIQLiaI1Kzln4MYQgWu7Ss1VRgOyVDlDnd41ay6agZBAjJFuHKUrEKO0icb9iaAjQ9/640?wx_fmt=svg&wxfrom=5&wx_lazy=1&wx_co=1

例如,我们可以想象一个卖音乐会门票的网站。当用户在浏览器窗口中键入请求时,浏览器会将请求发送到后端服务器,后端服务器以网站数据作为响应。然后,用户将看到网站的前端,该前端将包括文本、图像和供用户填写的表单字段。然后,用户可以与前端上的表单字段之一进行交互,以搜索他们喜欢的音乐表演。当用户单击“提交”时,这将触发另一个对后端的请求。后端代码检查其数据库,以查看是否存在具有该名称的表演者,如果存在,则会反馈下次表演的时间以及有多少可售的票。然后,后端会将数据传递回前端,前端将以用户能理解的方式显示结果。同样,当用户创建一个帐户并输入财务信息以购买票时,前端与后端之间将发生另一次来回通信。

无服务器计算可以提供什么样的后端服务?

大多数无服务器提供商都为其客户提供数据库和存储服务,并且许多无服务器提供商还具有功能即服务(FaaS)平台,例如 Cloudflare Workers。这些平台可以在不存储任何数据的情况下在边缘执行代码。

无服务器计算的优势是什么?