边缘节点提供了Key-Value型边缘存储服务。将数据写在边缘存储后,边缘存储的数据会快速自动同步到全球的边缘节点,边缘函数ER可快速读取使用同节点的边缘存储数据。结合边缘存储和边缘函数ER,您可以部署轻量型的BaaS服务、API网关服务。
工作原理
当您在控制台或通过OpenAPI写入KV数据时,数据并未直接写入边缘节点,而是先写入中心节点的KV存储中,在数据存储到中心后的短时间内,我们将清除边缘节点KV中与之对应的“脏数据”,以保证存储数据的读取准确性。
客户端发起请求时,将读取离客户端最近的边缘节点上存储的KV数据,从而提升访问速度。但写入中心的数据并不会立即全量推送至边缘节点进行存储,所以对于新写入的数据的访问,可能无法在边缘节点直接命中,此时我们将主动从中心节点读取数据,并缓存至边缘节点,后续对这份数据的查询请求将直接从边缘节点命中返回。该机制使得对新写入数据的首次访问速度较慢,但后续请求速度会加快。
基于上述工作原理,边缘存储更适合低频写高频读、且要求存储数据全局一致性的业务场景。
基本概念
存储空间、命名空间(NameSpace)
存储空间是用于管理键值对的数据库,拥有账号下全局唯一的名称,创建成功后,您可以在存储空间中添加KV数据。
KV(Key-Value)
即键值对(Key-Value),每个键值对都归属于某个存储空间(NameSpace),读取键值对时,需先指定存储空间后进行调用。
使用限制
限制项 | 说明 |
存储容量 |
|
Key-Value |
|
同步时间 | 保证最终一致性,一般在几秒~十几秒时间同步到全球节点,最迟在300秒内完成同步。 |
访问限制 | ER只能读写同阿里云账号下的边缘存储数据,不支持跨账号读写。例如,A账号下的ER不能读写B账号的边缘存储数据。 |
使用边缘存储
开通边缘存储服务后,您可以通过边缘安全加速 ESA控制台或边缘函数ER内置API来使用边缘存储。
创建存储空间
各个存储空间相互独立,最多可创建10个存储空间。
登录ESA控制台。
在左侧导航栏选择
,单击创建存储空间,按照界面提示输入空间名称和描述。说明空间名称对应ER内置API中的参数NameSpace。
单击确定。
通过控制台管理存储数据
控制台目前最大支持100KB的value添加,如果您有更大规格Value需求,请使用OpenAPI操作。
您可以通过控制台来添加、修改或删除边缘存储数据。
登录ESA控制台。
在存储空间列表中找到目标存储空间,单击操作列的管理。
单击添加KV数据,按照界面提示填写键(Key)和值(Value)。
单击确定。
可选:添加存储数据后,您可以单击修改、查看或删除来管理存储数据。
通过API管理存储数据
您可以通过边缘函数(ER)内置的API来添加、修改、查询或删除边缘存储数据。
通过API管理前,请确保您已经在控制台创建存储空间。
API详细使用说明,请参见边缘存储API。
调用Constructor传入NameSpace创建一个边缘KV实例对象。
NameSpace是您在控制台创建的存储空间名称,可在存储空间列表查看。
const edgeKv = new EdgeKV({ namespace: "ns"});
成功创建实例对象后,您可根据需求调用以下内置API来实现相关功能。
API
功能
从存储空间(NameSpace)中读取数据。
删除存储空间(NameSpace)中指定的Key及其对应的Value数据。