在一个 Apache Ignite 节点中支持多个环境



目前我们使用Apache Ignite.NET 瘦客户端来缓存不同的数据集。 对于每个数据请求,我们使用通过IIgniteClient.CreateCache<TKey,TValue>((方法创建的单独缓存。 一个缓存包含一组具有相同属性的 enity,过期后应独立于其他缓存将其删除。

问题在于,在生产中,我们希望让许多应用程序(环境(实例与一个Apache Ignite实例一起工作。每个应用程序实例都应该能够使用与其他应用程序的缓存相同的键创建缓存。因此,缓存键将是唯一的,只有一个应用程序实例。

有没有办法在Apache Ignite中独立存储来自不同环境的缓存? 例如,在 Redis 中,有不同的数据库具有唯一的编号。

我尝试使用 DBeaver 连接到缓存,并看到一个"Ignite"数据库,每个缓存有几个 sql 模式,每个模式中有一个表。 我可以在一个 Apache Ignite 节点中创建多个数据库吗?

目前我看到的唯一 2 个解决方案:

  1. 为每个缓存键添加环境前缀
  2. 在一台计算机上为每个环境托管多个 Apache Ignite 服务实例。

不,Apache Ignite 没有"数据库"的概念。假定它用于单租户。如果您不关心安全性,则可以使用前缀来缓存名称等。

最新更新