2月5-7日QCon全球软件开发大会携手100+位大咖讲师落定北京,点击查看完整日程>> 了解详情
写点什么

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:0015235
用户头像

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

关注

评论

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

产品经理训练营第二章作业(一)

新盛

产品经理训练营第三课:产品思维(上)

克比

产品经理训练营 - 第二次作业

Geek_娴子

产品经理的书籍清单【持续更新】

学习高手song轻松

产品

产品经理训练营第二次作业

猫。

产品经理训练营第二周作业

happy-黑皮

产品经理训练营

28天瞎写的第二百二十九天:存储过程的故事

树上

28天写作

抽奖助手利益相关方和问题分析

June

产品经理训练营

产品训练营·第二周作业 & 总结

tiu

作业二

hopeful

极客大学产品经理训练营

产品经理训练营 -- 第二章作业

Lucas zhou

产品经理训练营

产品利益相关方小结

skylar

机器学习·笔记之:Cost Function

Nydia

创业失败启示录|短暂的退休生活

阿萌

28天写作 创业失败启示录 青城

深刻地理解利益相关者

踏凌霄

产品思维和产品意识

王一凡

产品经理 产品经理训练营 极客大学产品经理训练营

什么是视频?|视频号28天(19)

赵新龙

28天写作

抽奖助手小程序 利益相关方都有谁 ?

Shine

产品

我的自学编程之路

IT蜗壳-Tango

七日更

【作业-02】产品思维和产品意识

西西里奇

产品经理

作业2

YING꯭YING

产品经理训练营第二周总结

happy-黑皮

产品经理训练营

产品经理-第二周作业

LLL777

共识算法的简单理解(二)

石君

28天写作 拜占庭容错 PBFT

产品经理训练营第二章作业

Jobs

产品经理训练营

产品经理训练营 - 第二章作业

joelhy

产品经理训练营

利益相关者练习

王一凡

产品经理 产品经理训练营 利益相关者

有了分身术也不能解决的问题「幻想短篇 19/28」

道伟

28天写作

第二/三周作业

🌴stolmpj

关于利益相关者的作业

mas

第二次作业

Geek_d9dd01

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