Apache Ignite 连续查询会错过一些更新吗?
Can Apache Ignite Continuous Queries miss some update?
我们正在测试 Apache Ignite 连续查询,在测试期间,我们注意到一些连续查询错过了缓存的一些更新。
我们的用例如下:
- 我们有一个馈送器(它是服务器节点的一部分),它每秒向 1000 个缓存提供数据
- 我们有一个客户端程序(即服务器节点的一部分)打开 1000 个连续查询,每个缓存 1 个连续查询
因此,这些连续查询中的一些有时会错过缓存的少量更新。我们想知道连续查询错过缓存的某些更新是否是 "normal".
我们也用500、250、100个缓存进行了测试,结果相同。
除此之外,我们也很想知道到底可以创建多少缓存和连续查询? Apache Ignite 是否支持数十万个创建缓存和连续查询?
通知不应在连续查询中丢失。如果这确实发生了,那很可能是产品或测试中的错误。我建议与 Apache Ignite 社区分享您的测试。
通过 Ignite 邮件列表 (http://apache-ignite-users.70518.x6.nabble.com/Can-a-Continuous-Queries-miss-some-updates-order-td11620.html#a11623) 获得了答案:
Continuous Query (CQ) garanties that the order for events will be preserved per entry. For example:
cache.put(key1, 100);
cache.put(key2, 100);
cache.put(key1, 200);
cache.put(key2, 200);
CQ guarantees that for key1 events will be received in the following order (1, 100) --> (1, 200) but you can got event for key2 early than for key1.
Ignite doesn't have limitation on count of caches and CQ.
谢谢尼古拉·吉洪诺夫!
我们正在测试 Apache Ignite 连续查询,在测试期间,我们注意到一些连续查询错过了缓存的一些更新。 我们的用例如下:
- 我们有一个馈送器(它是服务器节点的一部分),它每秒向 1000 个缓存提供数据
- 我们有一个客户端程序(即服务器节点的一部分)打开 1000 个连续查询,每个缓存 1 个连续查询
因此,这些连续查询中的一些有时会错过缓存的少量更新。我们想知道连续查询错过缓存的某些更新是否是 "normal".
我们也用500、250、100个缓存进行了测试,结果相同。
除此之外,我们也很想知道到底可以创建多少缓存和连续查询? Apache Ignite 是否支持数十万个创建缓存和连续查询?
通知不应在连续查询中丢失。如果这确实发生了,那很可能是产品或测试中的错误。我建议与 Apache Ignite 社区分享您的测试。
通过 Ignite 邮件列表 (http://apache-ignite-users.70518.x6.nabble.com/Can-a-Continuous-Queries-miss-some-updates-order-td11620.html#a11623) 获得了答案:
Continuous Query (CQ) garanties that the order for events will be preserved per entry. For example:
cache.put(key1, 100);
cache.put(key2, 100);
cache.put(key1, 200);
cache.put(key2, 200);
CQ guarantees that for key1 events will be received in the following order (1, 100) --> (1, 200) but you can got event for key2 early than for key1. Ignite doesn't have limitation on count of caches and CQ.
谢谢尼古拉·吉洪诺夫!