Garantías de entrega
Garantías de entrega
Dependiendo del sistema de mensajería que uses, habrá diferentes garantías de entrega. El servicio de eventos utiliza Kafka como el sistema de mensajería, por lo que las garantías de entrega dependerán de la configuración del productor y de la configuración del bróker que uses. Dependiendo del número de particiones configuradas para el tema TRANSACTION
, los eventos pueden ser entregados fuera de orden.
Cualquier lógica de transacción que dependa del orden debe usar el status
de la transacción y los campos updated_at
para determinar el orden de los eventos.
Las próximas subsecciones describirán las garantías de entrega desde la perspectiva del cliente y del servidor de negocios.
Garantías de entrega del cliente
Para cada cliente, el servicio de eventos intentará entregar cada evento hasta tres veces con un retroceso exponencial. Si el evento no se entrega después de tres intentos debido a errores HTTP 4xx o 5xx, el evento será omitido. Si el cliente no es alcanzable después de tres intentos, el servicio de eventos ya no intentará entregar ningún evento a ese cliente.
Garantías de entrega del servidor de negocios
El servicio de eventos intentará entregar cada evento al servidor de negocios hasta tres veces con un retroceso exponencial. Si el evento no se entrega después de tres intentos debido a errores HTTP 4xx o 5xx, el evento será omitido. Si el servidor de negocios no es alcanzable después de tres intentos, el servicio de eventos ya no intentará entregar ningún evento al servidor de negocios.
Las garantías de entrega del servidor de negocios son las mismas que las garantías de entrega del cliente. En el futuro, el servicio de eventos omitirá los eventos que no se entreguen a clientes que no son alcanzables.