边缘存储

边缘节点提供了Key-Value型边缘存储服务。将数据写在边缘存储后,边缘存储的数据会快速自动同步到全球的边缘节点,边缘函数ER可快速读取使用同节点的边缘存储数据。结合边缘存储和边缘函数ER,您可以部署轻量型的BaaS服务、API网关服务。

工作原理

当您在控制台或通过OpenAPI写入KV数据时,数据并未直接写入边缘节点,而是先写入中心节点的KV存储中,在数据存储到中心后的短时间内,我们将清除边缘节点KV中与之对应的“脏数据”,以保证存储数据的读取准确性。

客户端发起请求时,将读取离客户端最近的边缘节点上存储的KV数据,从而提升访问速度。但写入中心的数据并不会立即全量推送至边缘节点进行存储,所以对于新写入的数据的访问,可能无法在边缘节点直接命中,此时我们将主动从中心节点读取数据,并缓存至边缘节点,后续对这份数据的查询请求将直接从边缘节点命中返回。该机制使得对新写入数据的首次访问速度较慢,但后续请求速度会加快。

基于上述工作原理,边缘存储更适合低频写高频读、且要求存储数据全局一致性的业务场景。

image

基本概念

存储空间、命名空间(NameSpace)

存储空间是用于管理键值对的数据库,拥有账号下全局唯一的名称,创建成功后,您可以在存储空间中添加KV数据。

KV(Key-Value)

即键值对(Key-Value),每个键值对都归属于某个存储空间(NameSpace),读取键值对时,需先指定存储空间后进行调用。

image

使用限制

限制项

说明

存储容量

  • 单个阿里云账号:最大支持10 GB。

  • 单个存储空间(NameSpace):最大支持1 GB。

Key-Value

  • 单个Key:最大支持512字节,只允许字母、数字、中划线和下划线,不能含空格 / ? 等特殊字符。

  • 单个Value:最大支持1.8 MB。

    说明

    每个Key-Value数据都归属某个存储空间(NameSpace)。

同步时间

保证最终一致性,一般在几秒~十几秒时间同步到全球节点,最迟在300秒内完成同步。

访问限制

ER只能读写同阿里云账号下的边缘存储数据,不支持跨账号读写。例如,A账号下的ER不能读写B账号的边缘存储数据。

使用边缘存储

开通边缘存储服务后,您可以通过边缘安全加速 ESA控制台或边缘函数ER内置API来使用边缘存储。

image

创建存储空间

说明

各个存储空间相互独立,最多可创建10个存储空间。

  1. 登录ESA控制台

  2. 在左侧导航栏选择边缘计算服务 > 边缘存储,单击创建存储空间,按照界面提示输入空间名称描述

    说明

    空间名称对应ER内置API中的参数NameSpace

    创建存储空间

  3. 单击确定

通过控制台管理存储数据

说明

控制台目前最大支持100KB的value添加,如果您有更大规格Value需求,请使用OpenAPI操作。

您可以通过控制台来添加、修改或删除边缘存储数据。

  1. 登录ESA控制台

  2. 在存储空间列表中找到目标存储空间,单击操作列的管理

  3. 单击添加KV数据,按照界面提示填写键(Key)值(Value)8

  4. 单击确定

  5. 可选:添加存储数据后,您可以单击修改查看删除来管理存储数据。

通过API管理存储数据

您可以通过边缘函数(ER)内置的API来添加、修改、查询或删除边缘存储数据。

重要
  • 通过API管理前,请确保您已经在控制台创建存储空间。

  • API详细使用说明,请参见边缘存储API

  1. 调用Constructor传入NameSpace创建一个边缘KV实例对象。

    NameSpace是您在控制台创建的存储空间名称,可在存储空间列表查看。

    const edgeKv = new EdgeKV({ namespace: "ns"});
  2. 成功创建实例对象后,您可根据需求调用以下内置API来实现相关功能。

    API

    功能

    get

    从存储空间(NameSpace)中读取数据。

    delete

    删除存储空间(NameSpace)中指定的Key及其对应的Value数据。