云计算

Cloudflare Workers实战番外一:用Static Assets托管网站,告别传统方案

之前的文章:

  1. Cloudflare workers不完全指南"
  2. Cloudflare Workers实战(一):随心所欲操作客户端请求
  3. Cloudflare Workers实战(二):动态修改后端响应
  4. Cloudflare Workers实战(三):实现认证、重定向与缓存
  5. Cloudflare Workers实战(四):托管和分发静态文件
  6. Cloudflare Workers实战(五):不止JavaScript,拥抱Python与Rust

前面几篇文章,咱们研究了Workers的各种功能。今天,我要跟你聊点更实用的——用Cloudflare Workers的Static Assets功能来托管网站。你可能会想:“托管网站?这不是有GitHub Pages、Vercel这些免费方案吗?”

莫急,听我娓娓道来,告诉你为啥Workers + Static Assets可能是你见过最香的免费托管方案!

Cloudflare Workers实战(五):不止JavaScript,拥抱Python与Rust

之前的文章:

  1. Cloudflare workers不完全指南"
  2. Cloudflare Workers实战(一):随心所欲操作客户端请求
  3. Cloudflare Workers实战(二):动态修改后端响应
  4. Cloudflare Workers实战(三):实现认证、重定向与缓存
  5. Cloudflare Workers实战(四):托管和分发静态文件

如果你看过这个系列的其他文章那么基本上可以玩转workers,唯一的痛点可能是你不擅长或者不喜欢javascript,不喜欢javascript也没关系,只有用其他编程语言呗,如果你喜欢python和rust的话!

Cloudflare Workers实战(四):托管和分发静态文件

之前的文章:

  1. Cloudflare workers不完全指南"
  2. Cloudflare Workers实战(一):随心所欲操作客户端请求
  3. Cloudflare Workers实战(二):动态修改后端响应
  4. Cloudflare Workers实战(三):实现认证、重定向与缓存

前面几篇,咱们把Workers当成了一个“动态处理器”,玩转了请求,响应,缓存,认证,重定向等。但如果我告诉你,Workers还能当个静态文件服务器用,你信吗?没错,这货还能干Web Server的活儿!

Cloudflare Workers实战(三):实现认证、重定向与缓存

之前的文章:

  1. Cloudflare workers不完全指南"
  2. Cloudflare Workers实战(一):随心所欲操作客户端请求
  3. Cloudflare Workers实战(二):动态修改后端响应

咱们前面两篇,把请求和响应这两大块给盘得明明白白了。现在,是时候发散一下想像力了!今天我们来看看怎么用Cloudflare Workers实现认证、重定向和缓存这三大金刚。

Cloudflare Workers实战(二):动态修改后端响应

之前的文章:

  1. Cloudflare workers不完全指南"
  2. Cloudflare Workers实战(一):随心所欲操作客户端请求

书接上回,在上一篇文章里,咱们聊了怎么在请求到达服务器之前,像个“中间人”一样对它“动手动脚”。这次,咱们把视角翻转一下,看看当服务器把响应(Response)辛辛苦苦准备好,准备发回给浏览器时,我们又能怎么在半路上把它截胡,然后来一波骚操作。有了它,你就能对响应内容进行实时、动态的修改。想想看,这意味着什么?

Cloudflare Workers实战(一):随心所欲操作客户端请求

之前的文章:

  1. Cloudflare workers不完全指南"

首先来看看Cloudflare Workers最基础也最强大的能力之一:处理客户端请求。在请求到达源服务器之前,对客户端发起的HTTP请求进行全面的“增删改查”操作。这让我们可以在网络边缘(Edge)(不知道啥叫网络边缘也没关系,反正就是在后端之前的一个代理)处理流量的超能力,无需改动任何后端代码,就能实现许多非常复杂的功能。

500行以内写一个API网关

…

本文实现的apix网关代码结构基本上是借鉴了APISIX的源代码, 可以看做APISIX的一个极度缩减版本。本文的实现只依赖openresty镜像已有的库,不依赖额外的库,所以路由的实现非常简陋,也没有实现路由的持久化,但是大致实现了动态路由更新和转发, 插件机制。

APISIX源代码阅读

…

apisix主要是lua脚本跟openresty(或者说nginx)的组合, 流量具体转发由nginx承载, 但是按照什么规则转发用lua脚本定义. apisix在nginx之上封装了非常多功能强大有用的特性, 提供丰富的流量管理功能,比如态调整upstream, 灰度发布, 流量熔断, 认证, 观测性等。

Python异步编程全攻略

…

如果你厌倦了多线程,不妨试试python的异步编程,在引入async, await关键字之后语法变得更加简洁和直观,又经过几年的生态发展,现在是一个很不错的并发模型。