Nowadays, the EndpointRegistry has two goals that should be separated:
- the endpoint management: endpoint activation/deactivation, endpoint resolving, ...
- and a storage part, where data are stored in a distributed shared memory based on Hazelcast, including endpoint and topology information.
EndpointRegistry must be exploded in two Fractal components:
- EndpointDirectoryService that manages endpoint as a directory: endpoint activation/deactivation, endpoint resolution from criteria, ...
- SharedAreaService in charge of:
- storing endpoint information,
- storing topology information,
- providing distributed locks,
- ...
The Fractal component TopologyService will use SharedAreaService to store its topology information.
Reworked in trunk