It should be understood that any of the examples herein are non-limiting. For example, components are not limited to any particular distributed system. For another, cluster generally refers to two or more servers that operate in conjunction with one another, so that in the event of any server and/or intra-cluster communication failures, the surviving server or set of servers takes over the failed/non-communicating server's applications. Thus, as used herein, a “cluster” includes even a single surviving server. A cluster also includes the concept of virtual machines that act as different servers even if running on the same physical machine.
Further, “component” refers to any software component/software object/actor that has properties that may benefit from the technology described herein. As such, the present invention is not limited to any particular implementations, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the implementations, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used in various ways that provide benefits and advantages in programming, computing systems, datacenters and distributed computing systems in general.