Apache Geode es una base de datos en memoria, distribuida y open-source. Y se utiliza como cache distribuida normalmente.
Apache Geode es una plataforma de gestión de datos que proporciona acceso constante y en tiempo real a aplicaciones de uso intensivo de datos en arquitecturas de nube ampliamente distribuidas.
Geode agrupa la memoria, la CPU, los recursos de red y, opcionalmente, el disco local en varios procesos para administrar los objetos y el comportamiento de la aplicación. Utiliza técnicas de partición de datos y replicación dinámica para implementar alta disponibilidad, rendimiento mejorado, escalabilidad y tolerancia a fallas. Además de ser un contenedor de datos distribuidos, Apache Geode es un sistema de gestión de datos en memoria que proporciona notificaciones de eventos asincrónicas fiables y entrega de mensajes garantizada.
Apache Geode es una tecnología sólida y madura desarrollada originalmente por GemStone Systems. Disponible comercialmente como GemFire ™, se implementó por primera vez en el sector financiero como el motor de datos transaccionales de baja latencia utilizado en las plataformas de negociación de Wall Street. En la actualidad, cientos de clientes empresariales utilizan la tecnología Apache Geode para aplicaciones comerciales de gran escala que deben cumplir con requisitos de baja latencia y disponibilidad 24x7.
Dentro de cada caché, define regiones de datos. Las regiones de datos son análogas a las tablas de una base de datos relacional y gestionan los datos de forma distribuida como pares de nombre / valor. Una región replicada almacena copias idénticas de los datos en cada miembro de la caché de un sistema distribuido. Una región particionada distribuye los datos entre los miembros de la caché. Una vez configurado el sistema, las aplicaciones cliente pueden acceder a los datos distribuidos en regiones sin conocer la arquitectura del sistema subyacente. Puede definir oyentes para recibir notificaciones cuando los datos hayan cambiado y puede definir criterios de vencimiento para eliminar datos obsoletos en una región.
Los localizadores proporcionan servicios de detección y equilibrio de carga. Configura los clientes con una lista de servicios de localización y los localizadores mantienen una lista dinámica de servidores miembro. De forma predeterminada, los clientes y servidores de Geode utilizan el puerto 40404 y la multidifusión para descubrirse entre sí.
Geode incluye las siguientes características:
- Combina redundancia, replicación y una arquitectura de persistencia de "nada compartido" para brindar confiabilidad y desempeño a prueba de fallas.
- Escalable horizontalmente a miles de miembros de caché, con múltiples topologías de caché para satisfacer diferentes necesidades empresariales. La caché se puede distribuir en varios equipos.
- Propagación de actualización de caché asíncrona y síncrona.
- La propagación delta distribuye solo la diferencia entre las versiones antiguas y nuevas de un objeto (delta) en lugar de todo el objeto, lo que genera importantes ahorros en los costos de distribución.
- Notificaciones de eventos asincrónicas confiables y entrega de mensajes garantizada a través de una capa de distribución de baja latencia optimizada.
- Conocimiento de datos e inteligencia empresarial en tiempo real. Si los datos cambian a medida que los recupera, verá los cambios inmediatamente.
- Integración con Spring Framework para acelerar y simplificar el desarrollo de aplicaciones empresariales transaccionales escalables.
- Soporte de transacciones compatible con JTA.
- Configuraciones de todo el clúster que se pueden conservar y exportar a otros clústeres.
- Gestión remota de clústeres a través de HTTP.
- API REST para el desarrollo de aplicaciones habilitadas para REST.
- Es posible que se realicen actualizaciones progresivas, pero estarán sujetas a las limitaciones impuestas por las nuevas funciones.
Dejo link: https://geode.apache.org/