Configurar Akka Lease MongoDB
Esta guía le ayudará a usar MongoDB como un mecanismo de descubrimiento para el arranque (bootstrap) de un clúster de Akka.
Paso 0: Añadir dependencia
Debe añadir esto a pom.xml:
<dependency>
<groupId>com.iconsolutions.ipf.core.discovery</groupId>
<artifactId>akka-lease-mongodb-plugin</artifactId>
<version>${akka-lease-mongodb-plugin.version}</version>
</dependency>
Para encontrar la última versión, puede usar esta consulta en Nexus.
Paso 1: Usar el Lease
Crear un Lease programáticamente
Vea la documentación oficial de Akka para más detalles.
LeaseProvider provider = LeaseProvider.get(system);
Lease lease = provider.getLease("<name of the lease>",
"akka.coordination.lease.mongodb",
"<owner name>");
CompletionStage<Boolean> acquired = lease.acquire();
boolean stillAcquired = lease.checkLease();
CompletionStage<Boolean> released = lease.release();
Usar el lease con Akka Split Brain Resolver
Para usar el lease de MongoDB con el Split Brain Resolver, simplemente añada el siguiente fragmento a su archivo de configuración (application.conf).
Para más información, vea la documentación oficial de Akka.
akka {
cluster {
downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider"
split-brain-resolver {
active-strategy = "lease-majority"
lease-majority {
lease-implementation = "akka.coordination.lease.mongodb"
}
}
}
}
Usar el Lease con Akka Cluster Singleton
Para usar el lease de MongoDB con Akka Cluster Singleton, simplemente añada el siguiente fragmento a su archivo de configuración (application.conf).
Para más información, vea la documentación oficial de Akka.
akka.cluster.singleton.use-lease = "akka.coordination.lease.mongodb"
Usar el Lease con Akka Cluster Sharding
Para usar el lease de MongoDB con Akka Cluster Sharding, simplemente añada el siguiente fragmento a su archivo de configuración (application.conf).
Para más información, vea la documentación oficial de Akka.
akka.cluster.sharding.use-lease = "akka.coordination.lease.mongodb"
Apéndice A: Configuración predeterminada
La siguiente tabla describe la configuración predeterminada incluida con la biblioteca:
| Clave de configuración | Descripción | Valor predeterminado |
|---|---|---|
|
La URI de MongoDB que se usará para conectar con la base de datos. Establezca el valor de este campo si no usa el plugin dentro de IPF o si no pretende usar la misma base de datos que IPF. Respeta la propiedad global |
|
|
El nombre de la colección que contendrá los datos del lease. |
|
|
¿Debe Desactive esto si el usuario de la base de datos no tiene concedida la acción Respeta la anulación global de IPF |
|
|
El commit quorum que se usará al crear el índice para Akka Lease MongoDB. Respeta la anulación global de IPF |
|
|
La duración de gracia permitida a los leases adquiridos antes de que otro propietario pueda adquirirlos. |
|
|
El intervalo que un propietario de lease usará para renovar la propiedad del lease. |
|
|
La duración tras la cual una operación de lease (acquire, release) se considera como tiempo de espera agotado. |
|
|
Si se habilita el soporte SSL. Establecer esto en Respeta la anulación global |
|
|
Tipo del almacén de claves. Respeta la anulación global |
|
|
Ruta al almacén de claves que contiene el certificado SSL (normalmente un archivo jks). Respeta la anulación global |
|
|
Contraseña usada para acceder al almacén de claves. Respeta la anulación global |
|
|
Contraseña usada para acceder a la clave en el almacén de claves. Respeta la anulación global |
|
|
Tipo del almacén de confianza. Respeta la anulación global |
|
|
Ruta al almacén de confianza que contiene el certificado SSL. Respeta la anulación global |
|
|
Contraseña usada para acceder al almacén de confianza. Respeta la anulación global |
|