gpt4 book ai didi

java - Ignite Compute : Is it possible to continue jobs execution while the client is gone ?(例如崩溃)

转载 作者:行者123 更新时间:2023-12-02 10:24:30 26 4
gpt4 key购买 nike

我有一个由 8 个服务器节点和 1 个客户端组成的 ignite 计算网格。客户端向服务器发送任务:

ignite.compute().withExecutor("myPool").withNoResultCache().call(calls);

然后,服务器执行相应的任务,然后将任务结果写入云存储(不属于集群的一部分)。服务器配置为使用 jobsstealingSPI 和 K8 TCPdiscoverySPI。

    TcpDiscoverySpi tcpDS = new TcpDiscoverySpi();
TcpDiscoveryKubernetesIpFinder ipFinder = new TcpDiscoveryKubernetesIpFinder();
ipFinder.setNamespace("ignite");
tcpDS = tcpDS.setIpFinder(ipFinder);
cfg.setDiscoverySpi(tcpDS);

JobStealingCollisionSpi spi = new JobStealingCollisionSpi();
spi.setWaitJobsThreshold(1);
spi.setMessageExpireTime(1000);
spi.setMaximumStealingAttempts(10);
spi.setActiveJobsThreshold(1);
spi.setStealingEnabled(true);

JobStealingFailoverSpi failoverSpi = new JobStealingFailoverSpi();

但是,当客户端断开连接或崩溃时,服务器节点将停止执行发送的任务。

由于从发送任务的那一刻起,集群中不一定需要客户端,因此有没有办法强制服务器继续发送的作业?

此外,集群中是否存在重复的客户端节点而不重复计算任务顺序? (客户端节点冗余)

最佳答案

您可以使用ComputeTaskMapAsync注释,它将使用另一个节点来映射查询,而不是本地节点。要使用此注释,您需要使用 ComputeTask 而不是 IgniteCallable。

关于java - Ignite Compute : Is it possible to continue jobs execution while the client is gone ?(例如崩溃),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54078327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com