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)
3 回答
是的,这是正确的理解 . Ignite作为轻量级模式的客户端模式(不存储数据且不执行计算任务) . 客户端节点应与群集通信,不应使用自身资源 .
如果拓扑中没有提供服务器节点,客户端甚至都没有启
为了进一步添加@Makros答案,Ignite Client会在启用近缓存时存储数据 . 这样做是为了提高缓存检索的性能 .
是的,你是正确的点燃客户端
IgniteConfiguration.setClientMode(true);
和服务器IgniteConfiguration.setClientMode(false);
,这是默认值 . 如果在您的代码中设置IgniteConfiguration.setClientMode(false);
或忘记设置setClientMode();
它将作为服务器 .