写点什么

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

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

关注

评论

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

陕西旅游集团旗下景区春节期间累计接待超200万人次,这背后也有火山引擎VeDI的身影

字节跳动数据平台

大数据 数据中台 字节跳动 数据产品

软件测试 | 项目管理与跨部门沟通协作

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

测试

给 Databend 添加 Aggregate 函数 | 函数开发系例二

Databend

Apifox 1 月更新 | 将接口调试做到「极简」的新模式上线

Apifox

Apifox API

区块链项目开发技术团队源码交付

开发微hkkf5566

智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了

NineData

人工智能 MySQL 数据库 ChatGPT NineData

云原生技术在容器方面的应用

统信软件

容器 云原生 云服务

VSCode一键接入Notebook体验算法套件快速完成水表读数

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

分布式缓存服务DCS:企业版性能更强,稳定性更高

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

渲染行业需要什么,云渲染的优势是什么?

Renderbus瑞云渲染农场

云渲染 云渲染农场 云渲染平台

明道云致几位重度抄袭者的公开信

明道云

记录一次还算优雅的代码设计

京东科技开发者

线程 cpu 优雅 代码设计 企业号 2 月 PK 榜

高级java体系课第1期第二周作业

刘博

“采访”ChatGPT看看它对我们GreatSQL社区有什么看法

GreatSQL

MySQL greatsql greatsql社区

4道数学题,求出极狐GitLab CI 流水线之最优解|第1题:有向无环图流水线

极狐GitLab

ci DevOps cicd pipeline 极狐GitLab

直播预约|数据库掌门人论坛召开,共谋中国数据库生态发展新路径

镜舟科技

数据库 大数据 开源

什么是智能制造,为什么它对传统制造业影响如此之大?

PreMaint

智能工厂 智能制造

从一个Demo说起Zookeeper服务端源码

宋小生

zookeeper

设计模式-策略模式详解

C++后台开发

设计模式 策略模式 后端开发 Linux服务器开发 C++开发

直播预告 | 数据库自治平台 KAP 监控告警架构及实例演示

KaiwuDB

监控告警 KaiwuDB 数据库自治

五大要点,让你掌握代码整洁之道!

SoFlu软件机器人

银斯微, W-Sharing取得TTA与PaaS-TA兼容级别1双项认证

科技热闻

软件测试 | 流程管理平台

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

测试

2023年最新互联网大厂精选Java面试真题集锦(JVM、多线程、MQ、MyBatis、MySQL、Redis、微服务、分布式、ES、设计模式)

架构师之道

编程 程序员 计算机 java面试

有了 ETL 数据神器 dbt,表数据秒变 NebulaGraph 中的图数据

NebulaGraph

数据库 大数据 数据处理 图数据库

从 await-to-js 到 try-run-js

jump-jump

JavaScript 异步 优化 Async 重试

关于小游戏引擎你还了解哪些?

没有用户名丶

小程序游戏

案例 | 在肯尼亚,青年们正在说着“Sheng”语...

澳鹏Appen

人工智能 nlp 数据标注 训练数据 小语种

Flink SQL 在米哈游的平台建设和应用实践

Apache Flink

大数据 flink 实时计算

直播预告丨 立即解锁 ALB Ingress 高级特性

阿里巴巴云原生

阿里云 容器

统一观测丨如何使用Prometheus 实现性能压测指标可观测

阿里巴巴云原生

阿里云 云原生 Prometheus 压测

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