Gestión de Clústeres

El Servicio de Operaciones proporcionará información sobre la salud del clúster y las versiones de las bibliotecas de iconos utilizadas por los nodos de los upstreams. servicios. No hay auto-descubrimiento, dependemos de la Akka gestión API para recuperar información sobre nodos que son no forma parte de la configuración.

Configuración

Sistemas para monitorear

La configuración para los módulos de gestión de clúster incluye una lista de sistemas a monitorizar:

ipf.business-operations.cluster-management.systems = [
    {
        name = "ODS Inquiry"
        base-urls = [
            "http://ods-inquiry-app:8080"
        ],
        akka-management = false,
        actuator = {
            protocol = "http",
            port = "8080"
        }
    },
]
Nombre Descripción

name

Identificador legible por humanos para el sistema

base-urls

Lista de una o más URL de nodos de clúster donde el Akka Gestión API está disponible

akka-management

Si el clúster es administrado por Akka y Akka la gestión está habilitada. Si false, se asume que solo se proporciona Las URL son parte del clúster, si true, la aplicación intentará descubrir todos los miembros utilizando Akka

actuator.protocol

Protocolo a utilizar al usar el spring boot puntos finales del actuador

actuator.port

Número de puerto donde el actuador de resorte está escuchando, se asumirá que el host es el mismo que el proporcionado en la base. URL

Caching

Al obtener los miembros del clúster y la información de la versión, los datos devueltos son cached por un período de tiempo configurable. Consulte a continuación la configuración predeterminada (y consulte el Caché IPF docs para más detalles):

#tag::caching[]
ipf.caching.caffeine {
  enabled = true
  settings {
    # Cache that holds the Akka cluster member returned by Akka Management
    akka-cluster-members {
      timeout = 5m
      max-size = 20
    }

    # Cache that holds the health information for each node
    # belonging to a monitored system's cluster
    cluster-member-health {
      timeout = 5m
      max-size = 100
    }

    # Cache that holds the version information for each node
    # belonging to a monitored system's cluster
    cluster-member-versions {
      timeout = 10m
      max-size = 100
    }
  }
}

Reintentos

Al llamar a los sistemas monitoreados, los datos devueltos son cached por un período de tiempo configurable. Consulte a continuación la configuración predeterminada (y consulte el Caché IPF docs para más detalles):

ipf.business-operations.cluster-management = {

  # How long to wait for the response to return
  call-timeout = 2s

  # How many times to attempt a call to an endpoint
  max-attempts = 1

  # How many times to call out to an endpoint before opening the circuit breakers
  minimum-number-of-calls = 100

  # The initial backoff when doing retries
  initial-retry-wait-duration = 1s

  # Which HTTP statuse codes to not retry on
  non-retryable-status-codes = [400, 404, 403]
}