Search code examples
ignitethick-client

Apache Ignite Thick Client - lightweight


I am building a UI POC for Apache Ignite and want it to be as light as possible. It is a live/real-time UI which will get, update, delete cache and should also listen to any changes in cache and always display the latest data.

I learnt that Thin Clients do almost all of that, but cannot listen to changes and Thick Clients are my only option if I want to do that. But Thick Clients also participate in data storage and compute grid functionality which is too much for a simple UI application running on a Desktop. Can I make it lightweight where it behaves like a Thin Client with live/listener functionality? What options do I have for this scenario?


Solution

  • That's what the Ignition.setClientMode() method is for: it turns off data storage. And typically when running a compute job you run it on a ClusterGroup of server nodes, for example:

    Ignition.setClientMode(true);
    Ignite ignite = Ignition.ignite();
    ...
    ClusterGroup x = ignite.cluster().forServers();
    ignite.compute(x).run(...)