r10c es una plataforma de marketplace, y la aplicación de la que se extrajo entifix. Su negocio se nombra a partir de los mapas del TM Forum de la industria de telecomunicaciones: once dominios y sus entidades —ofertas, especificaciones, partes, órdenes, pagos, liquidaciones— toman sus nombres y sus límites de ODA y SID, los mismos marcos sobre los que planifiqué la migración de Tigo.
Los datos se dividen en tres planos. El plano de control guarda las partes, los accesos y los acuerdos; el plano de plataforma, el catálogo publicado y las órdenes de los compradores; el plano de tenant, lo que cada vendedor crea, una base de datos por organización, alcanzada solo a través del manejador que resuelve la sesión. Ninguna entidad lleva un id de organización, así que ninguna consulta puede filtrar filas de otro tenant por olvidar un filtro.
Los servicios son programas de Effect sobre los casos de uso de entifix, con MongoDB y PostgreSQL. Una escritura pasa por una fachada transaccional que bloquea en Redis y envía su evento junto con ella por RabbitMQ; los flujos de varios pasos, como el checkout, son sagas declaradas como datos, y cada paso sabe qué deshacer. Zitadel autentica a los usuarios; r10c los autoriza y emite sus propios tokens. Todo corre sobre Kubernetes, con trazas de OpenTelemetry en Grafana, y cada una de sus decisiones es un registro más abajo.