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

相关文章

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

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