Cloudflare 免费动态托管对比Workers vs Pages

2023-10-12 02:20

本文主要是介绍Cloudflare 免费动态托管对比Workers vs Pages,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Cloudflare 免费动态托管对比Workers vs Pages
    • 配置
      • Workers
      • Pages
    • 部署
      • Workers
      • Pages
    • 日志
    • 自定义域名
      • Workers
      • Pages
    • 小结
      • Workers
      • Pages

Cloudflare 免费动态托管对比Workers vs Pages

配置

Workers

通过 wrangler.toml 进行配置。

在这里插入图片描述

通过配置文件的话更加灵活,因为可以一个配置文件,部署多个 Worker,就有复用可能。

同时,配合 CLI 工具,可以更灵活的本地调试。

每个 Worker 代表着一个环境,所以环境变量通用,但可以进行加密。

在这里插入图片描述

除了可以在配置文件中配置 KV Namespace、 Durable Object (付费版功能),还可以绑定 Zone (域名),配置路由等。

Pages

通过页面上设置配置。

在这里插入图片描述

环境变量分为 Preview 和 Production 两种环境,分别设置。环境变量值均为明文。

在这里插入图片描述

Functions (即后端的 Worker 服务),可以绑定 KV Namespace 和 Durable Object(付费版)。

可以通过静态文件方式做映射配置自定义 Headers 和 Redirects (重定向)。

部署

Workers

通过 CLI 命令行工具 wrangler,同时也可以通过 CI/CD 流水线(需要额外配置)。

文档: https://developers.cloudflare.com/workers/cli-wrangler/commands#publish

Pages

通过 Push 自动触发,或者通过 Hooks 手动触发。

在这里插入图片描述

每次提交均会部署,可以访问不同的版本(长期保留,付费版本还可以设置加密预览),并且支持版本回滚。

日志

Workers 有, Pages 没有。

同时,由于 Pages 是个新产品,本地开发调试的时候并不是特别方便,很多时候我还在不停的往测试分支上提交代码,部署后查看实际的效果。部署的时间虽然挺快的,但也依然需要几分钟的等待。

自定义域名

Workers

叫路由 Routes,默认会分配 workers.dev 的域名,绑定也比较灵活。

Pages

默认分配 pages.dev 的域名, 可以绑定自定义域名。 自定义域名目前只能绑定给 Production。

还可以通过以下的方式去访问每次提交的部署:

  • ${hash}.${project}.pages.dev,如: https://efab10d3.willin-wang.pages.dev/
  • ${branch}.${project}.pages.dev,如: https://feat-i18n.willin-wang.pages.dev/

但是需要注意,不能给分支绑定自定义域名,如果需要 Beta 环境域名,则需要通过 Workers 反代的方式进行配置。

可以参考 Rocket Booster 配置反代。

小结

Workers

以前,Workers 也可以配合 KV 存储来搭建静态网站,而如今,有了更好的选择,就是 Cloudflare Pages。

适合两类产品:

  • 工具,比如反代
  • 服务,无服务器函数,包括缓存、数据库操作现在也在逐步的支持中

另外大型产品前后端分离过程中,可以使用 Workers 做很多实用的提升。

Pages

毫无疑问,适合带有前端页面的项目。同时,由于其 Functions 功能由 Workers 提供,所以能够实现产品的前后端服务。小型产品完全可以直接用 Pages 服务搭建。

这篇关于Cloudflare 免费动态托管对比Workers vs Pages的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/192561

相关文章

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock