使用Cloudflare的Wokers实现图片代理

前 听到边缘计算,serverless 感觉是不是离自己很遥远。但实际上这个已经是很成熟的技术了,在多个云厂商都提供了相关的方案。今天来简单的玩一下 CloudFlare 的workers,实现edge+serverless。 中 这里使用了cf 的workers来实现一个简单的图片代理。示例代码如下, 内容很简单,对参数中的URL进行一次fetch操作,并且返回实际代理到的图片内容。这样就可以用来对一些图片进行加速,或者去访问一些访问有问题的内容。 export default { async fetch(request) { const url = new URL(request.url) const r = url.searchParams.get('url') if(r === null) { return new Response("Usage: https://host/?url=...", { status: 404 }) } console.log('img url: ', r) return fetch(r).catch( (err) => new Response(err.stack, { status: 500 }) ) }, } POC: Google by proxy 后 Cloudflare 在Worker里面还推出了 D1,简单来说是Sqlite数据库。这是一个很大的进步,边缘也可实现简单的有状态的逻辑。想像空间就很大了。

十二月 17, 2022 · 1 分钟 · r4y

使用 zeit-vercel 来免费部署 serverless 函数服务

vercel.com 是一个 serverless 的函数服务平台,可以直接来整合到github 的仓库。 直接通过 push 事件来触发 CI和CD 的过程,极大的提高来生产力。 快速开始 # 直接全局安装 ➜ npm install -g now # 中间省略 很多过程 # 初始化文件夹,选择 vue ➜ now init # 一个命令推送到 vercel 托管,稍后就可以访问。 ➜ now 托管非静态服务(函数服务) 配置文件 vue 的项目事实上是托管了 静态的页面,很多东西都能做到,像是 github page 并没有用到 函数服务,这里就他的函数服务来进行说明。 使用函数服务的时候需要一个文件 now.json { "version": 2, "builds": [ { "src": "scripts/build_fileless.sh", "use": "@now/static-build" ,"config": { "distDir": "./" }}, { "src": "server/now.js", "use": "@now/node" } ], "routes": [ { "src": "/(....

七月 12, 2020 · 1 分钟 · r4y