出于开发/调试的目的,我希望有一种简单的方法来检测运行同一应用程序的多个(实际上是两个)环境上的Ignite缓存差异。只是事实不同,已经开发了一些工具来转储缓存以进行调查。复制了缓存模式。
我正在考虑计算缓存的哈希值,然后仅比较两个字符串。按需或按计划。请求来自客户端节点。
最好的存档方式是什么?
Ignite是否提供开箱即用的合适工具(例如IgniteCache.hashCode()
可以做到)?
在集群上运行作业以评估服务器节点上的计算并避免数据传输是一个好主意吗?如果是这样,如何仅在主要用于缓存的单个服务器节点上运行作业?
高速缓存最多可容纳一百万个“小”条目。计算不会被频繁请求,而只会在开发环境中进行。
UPD。多个环境意味着独立的Ignite群集,但是它们连接到相同的数据源,因此希望存储相同的数据。
答案 0 :(得分:0)
如果您以REPLICATED
模式启动缓存,则Ignite会为您完成工作。
不建议使用IgniteCache.hashCode(),因为它不是为此目的而设计的。
答案 1 :(得分:0)
您可以使用按分区扫描查询,然后计算分区中每个条目的哈希,将它们放入哈希集中并进行比较(或简单地将它们加起来,这样可以给出假阳性结果)。对所有分区重复以上操作。