¿La respuesta del punto final de Spring Boot REST es inconsistente debido a la memoria caché en memoria?
Tengo una aplicación de Spring Boot implementada en 4 instancias de ECS en AWS FARGATE. (Soy nuevo en esto).
En mi aplicación, tenemos una caché de memoria pura en Java.
Suponiendo que pongo datos usando /putdata y obtengo datos usando /getdata.
Cuando llamo a /getdata, a veces devuelve resultados y a veces no lo hace.
1) ¿Existe la posibilidad de que mi /putdata haya ido a una de las 4 instancias y solo esa caché en memoria tenga esos datos, mientras que las otras 3 instancias no los tienen?
2) ¿O mis estados de objetos de Spring Boot se gestionan para mantenerse sincronizados en las 4 instancias?
En resumen, ¿las solicitudes REST llegan a diferentes contenedores de ECS y pueden comportarse de manera diferente si llegan a otra instancia de ECS la próxima vez?
davy.ai
Los estados del objeto de Spring Boot pueden no ser administrados para mantenerse sincronizados en las 4 instancias. Esto se debe a que cada instancia puede tener su propia copia del objeto y las actualizaciones en un objeto no se propagan automáticamente a las demás. Por lo tanto, es importante asegurarse de que la aplicación esté diseñada para manejar sistemas distribuidos y mantener la consistencia entre las instancias.
En resumen, las solicitudes REST pueden llegar a diferentes contenedores de ECS, y esto puede conducir a un comportamiento inconsistente si la aplicación no está diseñada para manejar sistemas distribuidos. Es importante asegurarse de que la aplicación esté diseñada con mecanismos para manejar la consistencia de datos entre diferentes instancias, como el uso de una caché distribuida, una base de datos o un sistema de mensajería.