Utilice Kafka en el entorno de microservice de AWS EBS para evitar perder requestes de los usuarios y gestionar más visitas simultáneas

Actualmente, estoy usando el entorno de microservice de AWS EBS Docker para implementar los micro services escritos en Scala y Akka. Si alguien de la window acoplable de microservice se cuelga y se reinicia de nuevo. En este caso, perderemos las requestes de los usuarios y el service no devolverá ninguna respuesta para esos casos. Mi architecture actual puede manejar hasta 1000 requestes simultáneas sin ningún problema. Para evitar estos problemas, planeo almacenar y recuperar todas las requestes y respuestas usando Kafka.

Por lo tanto, quiero utilizar Kafka para gestionar la request y las respuestas de todos mis web services e include un service o socket web separado para procesar todas las requestes y almacenar las respuestas nuevamente en Kafka. En este caso, si la window acoplable de mi núcleo se queuepsó o se reinició. No perderá ninguna request y respuesta en ningún momento. Nuevamente comenzará a leer las requestes de Kafka y procesarlo.

Todos los web services almacenarán la request en un tema relevante en Kafka y obtendrán la respuesta del tema de respuesta relevante y regresarán a una respuesta de API. Encontré la siguiente biblioteca para usar Kafka en los web services de Scala.

https://github.com/akka/reactive-kafka/

enter image description here

Verifique el diagtwig de architecture adjunto que voy a usar para manejar de manera eficiente una gran cantidad de requestes simultáneas de las aplicaciones del cliente. ¿Es un buen enfoque para proceder? ¿Debo cambiar algo en mi architecture?

Creé esta architecture después de hacer más investigaciones sobre Kafka y los usuarios de microservices. Por favor, avíseme si hay algún problema con esta architecture.

Este es el pan y la mantequilla de Kafka, así que no creo que se encuentre con ningún problema arquitectónico con esto. Solo ten en count que hay una gran cantidad de gastos operativos con Kafka. Un buen recurso para comenzar es Kafka: The Definitive Guide escrito por Confluent ( https://www.confluent.io/wp-content/uploads/confluent-kafka-definitive-guide-complete.pdf ). Se detalla una gran cantidad de problemas operativos comunes que no mencionan en la documentation.