写点什么

Workers KV,基于边缘节点的无服务器式键值存储

  • 2019-06-02
  • 本文字数:1703 字

    阅读完需:约 6 分钟

Workers KV,基于边缘节点的无服务器式键值存储

Cloudflare Workers是一个无服务器平台,使开发人员能够将 JavaScript 代码和WebAssembly APP部署到 Cloudflare 广泛延伸的数据中心(截至如今,Cloudflare 已经在 80 个国家 180 多个城市搭建了其云网络数据中心)。Workers 可以扩展出数千个实例并拦截到站点的 HTTP 请求。这些实例不到 5 毫秒就可以完成启动,而实例完成运行最多只需 50 毫秒。到目前为止,如果一个 Worker 实例需要检索数据,开发人员要么将数据存储在 Worker 实例本身的脚本中,要么从 Cloudflare 的缓存中加载数据文件。之前在 Cloudflare 团队的一篇博客中提及,在使用 Workers 平台后不久,一些客户就提出了需求,需要更好地存储持久性数据。这就是促使 Workers KV 诞生的源由。


Workers KV 有一个简单的读写API接口,可以通过 HTTP 或在 Worker 实例内部进行调用。开发人员可以用文本、JSON、arrayBuffer 或 stream 数据形式进行检索。该服务专门为快速读取而设计,据报道其平均响应时间为 12 毫秒。写入 Workers KV 的任何数据(大小可达 2MB)在未使用静置时、在传输过程中,以及存储在本地磁盘时都会进行加密。Cloudflare 在 beta 测试期间,通过添加用于批量加载的端点,极大地提高了写操作的性能。写入 Workers KV 的键会自动在 Cloudflare 的云网络上进行复制,不到 60 秒就可以完成全球的一致性同步。然而,Cloudflare的文档指出,只有那些最经常被访问的键值才会在全球范围内进行复制,Workers KV 对不会经常读取的值进行集中存储。这是一项“无服务器”的服务,即在客户不必接触任何基础设施操作的情况下,它就能完全实现其所有管理。所有部署、升级、扩展和数据复制都由 Cloudflare 处理。


虽然 Workers KV 的产品经理很谨慎,并没有透露关于这项服务所采用的备份存储或技术的细节,但他们还是信心满满地对这项服务做出了保证。Cloudflare 团队的一篇博文简要解释了CAP原理,并强调了其设计理念。


Workers KV 的设计同时兼顾了可用性和分区容错性。这种组合又称为最终一致性,它使 Workers KV 具有两个独特的竞争优势:


  • 在 Cloudflare 缓存技术的支持下,读取速度非常快(平均速度为 12 毫秒)。

  • 数据在 175+边缘数据中心中可用,并且在区域性故障中断情况下可迅速恢复。


不过,此最终一致性有时仍需要权衡。比如两个客户端同时向同一个键写入不同的值,后面那个客户端会最终“胜出”,其输入的值将成为全局一致的键值。


基于这些考虑因素,Workers KV 的典型应用场景是什么呢?Cloudflare 根据其客户目前构建的内容给出了一些用例示范


  • 海量的重定向,例如处理数十亿个 HTTP 重定向。

  • 用户身份验证,用以验证用户对 API 的请求。

  • 翻译相关的键,动态地完成网页本地化。

  • 配置数据,用以管理谁可以访问源数据。

  • 基于任务和状态机的 Step functions,在多个 API 函数之间同步状态数据。

  • 边缘节点上存储了大量小文件。


2018 年 9 月,Cloudflare 宣布开始 Workers KV 的 Beta 测试时,还建议可以用 Workers 和 Workers KV 构建一种既廉价性能又高的 API 网关,这将比 Amazon API 网关等其他方案便宜得多。在同一篇文章中,他们列出了与改变 Worker 实例性能相关的其他用例,而使用 Workers KV 进行这些改善并不需要进行重新部署、A/B 测试,甚至不需要为电商网站存储购物车数据。


Workers KV 现在已经发布正式商用版本并公开发布了其服务价格。如果用户已经有 5 美元的 Workers 包月订阅,那么可以自动获得的 Workers KV 免费使用包括:1 GB 的存储,1000 万次读取操作和 100 万次写入操作。如果你的实际使用超出了这些数量,则每月每 GB 的存储收取 0.5 美元,每 100 万次读取操作收取 0.5 美元,每 100 万次写入操作收取 5 美元。命名空间(Namespace)是容纳键值对的容器,Workers KV 支持开发人员创建多达20个命名空间,每个命名空间可容纳数十亿个键值对。用户每秒钟可以对每个键执行无限次读取和 1 次写入。


Cloudflare表示,这种新型的无服务器键值存储方式“为开发人员构建软件打开了一种全新的思路:以后的软件哪些部分放在服务器上,哪些放在客户端上,以及,哪些又放在互联网上呢?”


查看英文原文:Cloudflare Releases Workers KV, a Serverless Key-Value Store at the Edge


2019-06-02 08:0016643
用户头像

发布了 63 篇内容, 共 42.8 次阅读, 收获喜欢 119 次。

关注

评论

发布
暂无评论
发现更多内容

数字化转型,低代码开发真的靠谱?

引迈信息

低代码 数字化 JNPF

市场规模超百亿 低代码与传统IT开发有何不同

力软低代码开发平台

架构实战营 模块1作业

吴俊

架构实战营

深度解析如何通过财务共享建设助推企业数智化转型

用友BIP

财务共享

AIGC背后的技术分析 | 通过EBG学习概念cup

TiAmo

机器学习 AIGC 解释学习

让初学者读懂代码的入门书

博文视点Broadview

除了运行、休眠…进程居然还有僵尸、孤儿状态

华为云开发者联盟

Linux 开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

OpenAI如何让ChatGPT遵守了伦理道德的底线

陈磊@Criss

艾媒金榜|2023年中国信创数据库企业TOP15

亚信AntDB数据库

数据库 AntDB AntDB数据库

离线版Gerber查看器+PCB/PCBA检测神器新功能!

华秋PCB

工具 电路 元器件 PCB PCB设计

软件测试/测试开发丨学习笔记之接口自动化测试

测试人

程序员 软件测试 自动化测试 接口测试 测试开发

GaussDB(DWS)迁移实践丨row_number输出结果不一致

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

财务共享服务中心建设流程是什么样的?

用友BIP

财务共享

惊!掌握通义千问的关键,从这些必知内容开始!

加入高科技仿生人

人工智能 低代码 ChatGPT 数字转型 通义千问

“Fabarta 数据血缘治理解决方案”荣获“2023 鑫智奖”双料奖项

Fabarta

数据挖掘 数据分析 数据治理 图智能 血缘治理

Mac电脑上的系统监控工具:iStat Menus 中文激活版

真大的脸盆

Mac Mac 软件 系统监控

新手系列 I 如何使用 TDesign 轻松开发项目,秘诀都在这里

TDesign

#开源项目 项目搭建

文件传输只是第一步,文件同步和备份的关键是

镭速

了不起的互联网老男孩,在创业路上不掉队

HarmonyOS SDK

HMS Core

Flutter调优--深入探究MediaQuery引起界面Rebuild的原因及解决办法 | 京东云技术团队

京东科技开发者

flutter 企业号 5 月 PK 榜 MediaQuery rebuild

通义千问预体验,如何让 AI 模型应用“奔跑”在函数计算上?

Serverless Devs

喜报!云智慧王海虎荣获中国信通院突出贡献专家奖

云智慧AIOps社区

大前端 低代码 数据可视化

Musl libc 库成功适配到 openEuler Embedded,推动欧拉嵌入式生态发展

openEuler

Linux 操作系统 嵌入式 openEuler risc-v

全球化企业应如何统筹规划财务共享中心?

用友BIP

财务共享

软件测试/测试开发丨学习笔记之用户端App自动化测试

测试人

程序员 软件测试 自动化测试 测试开发 app自动化测试

Python压缩JS文件,重点是 slimit

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

软件测试 | 软件危机的几个体现

测吧(北京)科技有限公司

测试

携手共创开源新格局|2023开放原子全球开源峰会将于6月11日在京隆重开幕

开放原子开源基金会

大数据 开源 开放原子开源基金会 开放原子全球开源峰会 开放原子

微服务系列之单体架构

Disaster

微服务

亿级 GPS 数据如何实现高效存储和查询?不同类型数据库选型分析

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine taosdata

Workers KV,基于边缘节点的无服务器式键值存储_服务革新_Richard Seroter_InfoQ精选文章