Service discovery

The HeartAI system provides dynamic location resolution of system services, allowing the system to determine the location of services and service endpoints by referring to a service resolution provider.

The implemented approaches for service discovery correspond with the system environment:

Production and testing

For production and testing environments, Akka Discovery provides service resolution through the Akka Management Kubernetes API. Please refer to the sections Network architecture and Red Hat OpenShift implementation for an overview of the HeartAI system production and testing environment OpenShift deployments (as a Kubernetes provider).

Development

For development environments, Lagom integrates a lightweight service locator and service gateway. The service locator can be queried directly at the default network location:

Request

curl http://localhost:14010/services

Response

[
    {
        "name": "care-episodes",
        "url": "http://127.0.0.1:58481",
        "portName": "http"
    },
    {
        "name": "phocqus-pathology",
        "url": "https://127.0.0.1:64762",
        "portName": "https"
    },
    {
        "name": "care-episodes",
        "url": "https://127.0.0.1:51291",
        "portName": "https"
    },
    {
        "name": "phocqus-pharmacy",
        "url": "http://127.0.0.1:57406",
        "portName": "http"
    },
    {
        "name": "phocqus-echocardiography",
        "url": "https://127.0.0.1:61190",
        "portName": "https"
    },
    ...
]