Ignite 服务器模式与客户端模式

Ignite Server mode vs Client Mode

Ignite有两种模式,一种是Server模式,另一种是client模式mode.I正在阅读https://apacheignite.readme.io/docs/clients-vs-servers,但对这两种模式没有很好的理解

在我看来,有两种用例:

  1. 如果 Ignite 在 java 应用程序中用作嵌入式服务器,则 Ignite 应处于服务器模式,即 Ignite 应以

    启动

    Ignite ignite = Ignition.start(configFile)

  2. 如果我设置了一个 运行 作为独立进程的 Ignite 集群。然后在我的java代码中,我应该以客户端模式启动Ignite,这样客户端模式的Ignite就可以连接到Ignite集群,并且对驻留在ignite集群中的缓存数据进行CRUD?

    Ignition.setClientMode(true);

    Ignite ignite = Ignition.start(configFile)

是的,这个理解是正确的。 Ignite 客户端模式旨在作为轻量级模式(不存储数据也不执行计算任务)。客户端节点应与集群通信,不应使用自身资源。

如果拓扑中没有服务器节点,客户端甚至不会启动。

为了进一步添加到@Makros 的回答中,如果启用了近缓存,Ignite 客户端会存储数据。这样做是为了提高缓存检索的性能。

是的,你说得对,ignite 客户端有 IgniteConfiguration.setClientMode(true);,服务器有 IgniteConfiguration.setClientMode(false);,这是默认值。如果在您的代码中设置 IgniteConfiguration.setClientMode(false); 或忘记设置 setClientMode(); 它将作为服务器工作。