En general, querrás construir un disyuntor frente a kafka. Puede ser solo una pequeña biblioteca que se ejecuta en el código del cliente. Debería devolver inmediatamente un error si Kafka no está disponible y volver a intentarlo periódicamente hasta que esté disponible. También debería poder dispararlo manualmente y su servicio debería poder manejar que se dispare.
Esto le brinda resiliencia “gratis”. Probablemente desee esta biblioteca entre todas las comunicaciones en sus servicios.
Algunos servicios pueden lanzar una excepción (piense en los servicios básicos), otros pueden continuar sin el otro servicio. Por ejemplo, solo porque Facebook está caído, no significa que tú también deberías estarlo. El hecho de que su servicio de correo electrónico esté caído no significa que usted también deba estarlo.
- ¿El arco del caballo en S6E5 de Game of Thrones es arquitectónicamente posible de construir hoy?
- ¿Por qué en lugar de losas se utilizaron estructuras en forma de cúpula en los monumentos? ¿Cuál es la ventaja estructural de usar domos?
- ¿Se puede utilizar el crowdsourcing de bienes raíces para encontrar una propiedad para comprar?
- ¿Por qué tengo una aversión a la mayoría de los estilos arquitectónicos después del Art Nouveau y el Art Deco, es solo mi sentimiento personal o hay algo de psicología detrás? (detalles adicionales en los comentarios)
- ¿Cuáles son las mejores atracciones turísticas hechas por el hombre que hayas visitado?
Lo bueno de esta biblioteca es que debería ser fácil burlarse y devolver “respuestas falsas” de kafka.