1. A computer-implemented method, comprising: distributing a load of a task to a first node in a cluster of nodes using a routing table; storing information to indicate the first node from the cluster of nodes is assigned to perform the task; detecting a failure condition for the first node; and moving the task to a second node from the cluster of nodes to perform the task for the first node upon occurrence of the failure condition.