主要和副本

时间:2017-11-09 08:38:47

标签: ignite

是否可以通过以下方式配置CacheEntryProcessor的执行,如下所示:EP应该在

上执行
  1. 仅限主要

  2. 在主要和副本

  3. 我知道如果我有 ATOMIC 缓存,EP只会在主要文件上执行,只有条目被发送到副本,而不是EP。

    但我想要的是

    • 对于读取操作,EP应仅在主
    • 上执行
    • 对于写入操作,应将EP发送到主要副本和副本(不是条目,但应将EP发送到副本)。

    使用TRANSACTIONAL缓存,EP将被发送到主要副本和副本,但是为了阅读,我希望EP仅在主要上执行。

    可以在Apache IgniteCache上实现此目的。

1 个答案:

答案 0 :(得分:3)

Apache Ignite不会在ATOMIC模式下向备份(副本)节点发送增量。如果EntryProcessor修改了条目,那么整个条目将被发送到备份节点,而不是delta。当入口处理器只读取数据(不调用 MutableEntry #setValue 方法)时,EP不会被发送到备份节点。默认情况下,这适用于ATOMIC和TX缓存模式。

任何方式,用户的代码都不应该依赖于此行为,因为它的实现细节。这是最好的做法。