Ignite有两种模式,一种是服务器模式,另一种是客户端模式。我正在阅读https://apacheignite.readme.io/docs/clients-vs-servers,但没有很好地理解这两种模式。
在我看来,有两个用例:
如果Ignite在java应用程序中用作嵌入式服务器,那么Ignite应该处于服务器模式,即Ignite应该以
启动 Ignite ignite = Ignition.start(configFile)
如果我已经设置了作为独立进程运行的Ignite群集。然后在我的java代码中,我应该在客户端模式下启动Ignite,以便客户端模式Ignite可以连接到Ignite集群,并CRUD驻留在ignite集群中的缓存数据?
Ignition.setClientMode(true);
Ignite ignite = Ignition.start(configFile)
答案 0 :(得分:4)
是的,这是正确的理解。 Ignite作为轻量级模式的客户端模式(不存储数据且不执行计算任务)。客户端节点应与群集通信,不应使用自有资源。
如果没有拓扑中显示的服务器节点,客户端甚至都没有启动。
答案 1 :(得分:0)
为了进一步添加@Makros答案,Ignite Client会在启用近缓存时存储数据。这样做是为了提高缓存检索的性能。
答案 2 :(得分:0)
是的,你在点燃客户端IgniteConfiguration.setClientMode(true);
和服务器IgniteConfiguration.setClientMode(false);
是正确的,这是默认值。如果您在代码中设置IgniteConfiguration.setClientMode(false);
或忘记设置setClientMode();
,它将作为服务器。