Apache Ignite Continuous Queries是否会错过一些更新?

时间:2017-03-15 09:22:17

标签: apache datagrid ignite

我们正在测试Apache Ignite Continuous Queries,在测试期间,我们注意到一些连续查询错过了缓存的某些更新。 我们的用例如下:

  • 我们有一个馈线(它是服务器节点的一部分),并且每秒为1000个缓存提供数据
  • 我们有一个客户端程序(它是服务器节点的一部分),可以打开1000个连续查询,每个缓存1个连续查询

因此,其中一些连续查询偶尔会错过很少的缓存更新。我们想知道连续查询是否错过了缓存的某些更新这一事实是"正常"。

我们还使用500,250,100个缓存执行了测试,结果相同。

此外,我们还想知道可以创建多少缓存和连续查询? Apache Ignite是否支持数十万次缓存和连续查询的创建?

提前感谢您的答案!

2 个答案:

答案 0 :(得分:1)

在连续查询中永远不会丢失通知。如果实际发生这种情况,则很可能是产品或测试中的错误。我建议与Apache Ignite社区分享您的测试。

答案 1 :(得分:1)

使用Ignite邮件列表(http://apache-ignite-users.70518.x6.nabble.com/Can-a-Continuous-Queries-miss-some-updates-order-td11620.html#a11623)得到答案:

  

持续查询(CQ)保证每个条目将保留事件的顺序。例如:

cache.put(key1, 100);
cache.put(key2, 100);
cache.put(key1, 200);
cache.put(key2, 200);
  

CQ保证将按以下顺序(1,100)接收key1事件 - > (1,200)但是你可以比key1早得到key2的事件。   Ignite对缓存和CQ的数量没有限制。

谢谢Nikolai Tikhonov!