Location Service Technical Description

The Location Service is used to register and find CSW services in the local network. A service can be an Akka actor (including CSW components, such as assemblies and HCDs), an HTTP server or a server running on some TCP host and port.

For information on using the Location Service, see these sections:

Location Service Implementation

The core feature of the Location Service is an Akka cluster that uses Conflict Free Replicated Datasets (CRDTs) to share location information in the network.

Note

See here for some background on how the choice was made to use an Akka cluster with CRDTs.

When a CSW component or service starts up, it registers with the Location Service by posting a message to an HTTP API that talks to one of the actors in the cluster - typically one running on the local host. The location information is shared in the cluster and clients anywhere in the network can use the HTTP API to locate the service.

The implementation of the Location Service is split into four subprojects: