spring-projects/spring-data-commons — pull request #54 by jvalkeal (2013-11-11 20:06:38+00:00)
Title: DATACMNS-394 grid discovery spi

NOTE: PR to get visibility for this code and it needs a shared home outside of SHDP/XD.

Adding functionality on an interface level to do discovery of a grid,
handle node grouping and manage grouping.

- Interfaces are strongly typed order to have flexibility to extend
framework interfaces and custom implementors to work around issues more easily.
- Multiple levels of interfaces: ContainerGrid, ContainerGridGroups and
ManagedContainerGridGroups. These should be flexible enough to be used
internally(grid will discover itself) or externally(data is fed in the
system externally). Should also work in cases where grid nodes will
discover itself without any central server(i.e. hazelcast), or having a central
point of origin for discovery(Hadoop Yarn/Appmaster).
- ContainerNode and ContainerGroup is using typed identifier to work through
not having a need to fix identifier as String or Object.
- From a framework point of view, all interfaces can be extended to
create a totally extended discovery spi while other users are still able to
understand what happens on a low level interfaces(what i.e.
ContainerGrid, ContainerNode is giving out.

![grid-spi](https://f.cloud.github.com/assets/50398/1515989/7953a40c-4b0c-11e3-9694-015c65dec8fb.png)