Caerus LogoCaerusDocs

Visión General de la Plataforma

Core Platform

Caerus es una plataforma Backend-as-a-Service (BaaS) diseñada para resolver la concurrencia distribuida, reservas de recursos limitados y sincronización de procesos críticos sin complejidad operativa.

¿Qué problema resuelve Caerus?

Vender o apartar algo de lo que solo hay una unidad (una butaca de cine, un turno médico, un cupo de inscripción o inventario limitado) es mucho más difícil de lo que aparenta. Dos usuarios presionan Comprar en la misma fracción de segundo; una pasarela de pago tarda 8 segundos en contestar; y un tercer usuario abandona el carrito con el recurso bloqueado.

Resolver esto de forma artesanal exige coordinar clústeres distribuidos complejos, diseñar mecanismos a medida contra condiciones de carrera, lidiar con bloqueos pesados en bases de datos y programar tareas en segundo plano para limpiar reservas abandonadas. Caerus abstrae toda esta complejidad detrás de APIs declarativas de baja latencia y un SDK unificado.

Menor Time-to-Market
Elimina meses de desarrollo e ingeniería de infraestructura distribuida en cada microservicio.
Cero Overbooking
Garantiza exclusión mutua estricta y evita sobreventas o carreras de actualización en la base de datos.
Alta Velocidad en Memoria
El motor opera en memoria mediante transacciones atómicas de ultra baja latencia, sin contención en disco.

Garantías de Consistencia y Rendimiento

Caerus combina procesamiento atómico en memoria para respuestas en milisegundos con mecanismos automáticos de persistencia y durabilidad:

Ejecución Atómica en Memoria

Las operaciones transaccionales de alta frecuencia (adquisición de bloqueos, reservas temporales take, conteo atómico y expiraciones por TTL) se procesan directamente en memoria con exclusión mutua estricta.

Persistencia y Tolerancia a Fallos

El estado de cada reserva y bloqueo se sincroniza de forma duradera desacoplándose de los picos de tráfico, garantizando consistencia y trazabilidad histórica sin degradar los tiempos de respuesta.

Los Motores: SRE y DLS

Caerus provee dos motores especializados según el nivel de abstracción requerido:

Shared Resource Engine (SRE)
Motor orientado a la lógica de negocio y reservas temporales de inventario.
  • Recursos Unitarios (asientos numerados) vs Con cupo (entradas generales).
  • Ciclo: take() con TTL ➔ confirm() o release().
  • Estrategias de conflicto: FAIL vs QUEUE (fila de espera).
Distributed Locking Service (DLS)
Motor de sincronización a bajo nivel y exclusión mutua para microservicios.
  • Locks Exclusive y Shared Read en transacciones.
  • Fencing Tokens monotónicos para evitar escrituras obsoletas (split-brain).
  • Detección y resolución automática de ciclos de Deadlock.

Inicio Rápido (SDK)

Paso previo: Configuración en la Consola Web

Antes de inicializar el cliente en código, aprende a crear tu aplicación, configurar entornos y definir las plantillas de recursos y bloqueos en el Dashboard.

Guía de la Consola Web

Instala el SDK en tu aplicación backend (Node.js/TypeScript, Java o Go) y empieza a coordinar recursos en minutos:

Terminalbash
npm install @caerus-dev/sdk

Ejemplo de retención de recurso unitario con pago y confirmación:

server.tstypescript
1import { CaerusClient } from '@caerus-dev/sdk';
2 
3const caerus = new CaerusClient({
4 apiKey: process.env.CAERUS_API_KEY!,
5});
6 
7// 1. Apartar el asiento durante 5 minutos
8const holder = await caerus.unitary('asiento-B14').take({
9 ttlSeconds: 300,
10 metadata: { clienteId: 'usr_948' }
11});
12 
13try {
14 // 2. Procesar el cobro en la pasarela de pagos
15 await procesarPagoTarjeta(holder.id);
16 
17 // 3. Confirmar la venta de forma definitiva
18 await caerus.confirm(holder.id);
19 console.log('Compra confirmada con éxito:', holder.id);
20} catch (error) {
21 // 4. Si el pago falla, liberar inmediatamente para otros clientes
22 await caerus.release(holder.id);
23}
gRPC / ProtobufPython · Rust · C# · Ruby · etc.

¿Desarrollas en otros lenguajes? Conéctate directo vía gRPC

Toda la infraestructura de Caerus opera de forma nativa sobre gRPC y HTTP/2 con serialización binaria Protocol Buffers v3. Si tu stack backend no utiliza TypeScript, Java o Go, puedes compilar tus propios clientes fuertemente tipados a partir de nuestro repositorio de esquemas canónicos.

Documentación y Contratos RPC

Revisa la firma exhaustiva de los métodos de SharedResourceEngine y DistributedLockingEngine, parámetros de entrada, respuestas y códigos de error.

Ver Especificación gRPC
Repositorio caerus-protos

Clona las definiciones .proto oficiales listas para compilar con protoc o buf en Python, Kotlin, Rust o C#.

Explorar caerus-protos