So far, we have been focusing on data storage for a lot of cases that would take up most of the story for scaling up our application. However, there are other types of applications that require a lot of computational and data processing power. To help cater for this use case, Hazelcast provides a distributed executor service. For us relatively experienced Java developers, we are hopefully already familiar with the introduction of ExecutorService
with Java v1.5. Extending this concept further, the distributed execution capabilities allow us to run the Runnable
and Callable
tasks on the cluster. However, as we are distributing the task, we must ensure that it is also Serializable
.
We can think of Hazelcast as providing the scheduling and task management capabilities on top of a number of executors, holding a number of worker threads each.
Like the data storage capabilities offered, should we need to add further capacity to the cluster, we can start more nodes. This will...