El Presupuesto de Sincronía: Minimizar las Llamadas Síncronas en Sistemas Distribuidos
Este artículo explora la importancia de gestionar las llamadas síncronas al construir sistemas de servicios distribuidos. El autor introduce el concepto de "presupuesto de sincronía", abogando por minimizar las solicitudes síncronas entre servicios para mejorar el rendimiento y la disponibilidad. Las llamadas síncronas son costosas, afectando los tiempos de respuesta y la estabilidad del sistema. Usando un ejemplo de procesamiento de pedidos de comercio electrónico, el artículo demuestra cómo manejar las interacciones con los servicios de inventario y envío de forma asíncrona (por ejemplo, usando Kafka), reservando las llamadas síncronas para situaciones en las que son esenciales (como los servicios de pago). El autor también abarca el patrón Outbox y la tecnología CDC para manejar el almacenamiento en búfer de mensajes y la sincronización de datos en la comunicación asíncrona, logrando en última instancia un sistema distribuido de alto rendimiento y alta disponibilidad.