是否有 dapr.io 设计模式来获取状态存储中的所有键

Is there a dapr.io design pattern to get all keys in the state store

在容器化微服务中,我使用 dapr.io 状态管理系统作为设备的数据缓存;提供一种大规模访问许多设备状态的高效方式。

使用简单的 CRUD 方法,我可以使用 dapr 创建、读取、更新和删除设备状态,如下所示:

我的主要问题是获取所有键的列表:

由于 dapr 不支持状态存储中所有键的列表,我需要使用我自己的实现来单独跟踪所有键。

https://github.com/dapr/docs/tree/master/concepts/state-management

到目前为止我测试了两种方法:

  1. SAGA 模式,其中 POST/PUT/DELETE 设备调用将事件发布到索引 API
  2. 手动管理设备微服务中的索引POST/PUT/DELETE调用

在我看来,上述方法增加了不必要的复杂性并产生了规模问题。

是否有一种模式可以在没有上述复杂性的情况下使用 dapr 实现所有键的列表?

自版本 0.10.0 以来,有一个状态 API 操作来获取批量状态:https://github.com/dapr/docs/blob/master/reference/api/state_api.md#get-bulk-state