All power to the compute
So far, we have been focusing on data storage in a lot of cases that would take up most of the story to scale up an application. However, there are other types of applications that require a lot of computational and data processing power. To cater to this use case, Hazelcast provides a distributed executor service. The relatively experienced Java developers will hopefully be already familiar with ExecutorService
and its ability to handle some of the complexities of running background tasks and processing jobs. Extending this concept further, the distributed execution capabilities allow us to execute the Runnable
and Callable
tasks on a cluster. However, as we are distributing the task, we must ensure that it is also Serializable
.
Hazelcast provides scheduling and task management capabilities on top of a number of executors that are spread out across all the nodes in a cluster, with each providing a number of worker threads to process the jobs.
Similar to the data storage...