gpt4 book ai didi

java - 在封闭物内使用 ignite 安全吗?

转载 作者:行者123 更新时间:2023-12-01 17:56:55 24 4
gpt4 key购买 nike

我正在使用 ignite 服务,该服务将通过 run 发布一些任务。该服务如下所示:

public interface MySvc{
public void foSomeJob();
}

public MySvcImpl implements MySvc, Service{

@IgniteInstanceResource
private Ignite ignite;

public void foSomeJob(){
IgniteCompute compute = ignite.compute();
compute.run(() -> {
ignite.binary() //<----Is it safe?
.builder("TYPE"); // What is gonna happen on another node
//build binary object and put it into a cache
}
}
}

问题是另一个节点上会发生什么?我们序列化 Ignite 实例(真的吗??)并通过网络发送它。或者它是如何运作的?

就我而言,任务的性能至关重要...所以我想了解在其他节点上运行任务时它是如何工作的?

也许我应该明确使用Ignition.ignite();

最佳答案

Ignite 实例确实将被“序列化”,并且在远程节点上,您实际上将获得该节点本地的实例。当然,Ignite 并不是通过网络物理发送的。

话虽如此,这段代码是正确的并且可以工作。然而,对通过网络发送的闭包使用 lambda 或匿名类并不是一个很好的做法。我建议创建一个单独的类并使用 @IgniteInstanceResource 或 Ignition.ignite() 注入(inject) Ignite。这样您就可以更好地控制序列化和通过网络发送的内容。从性能角度来看,它更安全、更好。

关于java - 在封闭物内使用 ignite 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44048505/

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