Quiero exprimir cada onza posible del uso de la capa de frijol elástico libre.
Mi backend está construido como un conjunto de microservicios (usando ktor). Tengo 5 microservicios para ser precisos. Todos estos están acoplados y estoy tratando de ejecutarlos todos en la misma pequeña instancia t2.micro (gratuita) de beanstalk elástico con el entorno de imagen multi-acoplador
Java es Java, le gusta dejar inactivo alrededor de 200 MB de RAM por contenedor acoplable para incluso el microservicio más simple.
Entonces, t2.micro te da 1GB de RAM. Tengo 5 contenedores acoplables de microservicios que requieren al menos 200 MB cada uno = realmente cerca.
El problema es que la memoria casi siempre está cerca del 100% casi todo el tiempo.
Entonces, ¿hay alguna forma de asignar dinámicamente memoria a los contenedores acoplables dependiendo de cuánto es gratis y cuán desesperadamente lo necesita un contenedor?
Digamos que un contenedor está haciendo un trabajo pesado mientras que los otros están en su mayoría inactivos, quiero dirigir algo de RAM hacia el contenedor haciendo la tarea pesada y una vez que la tarea haya terminado, vuelva a la asignación de RAM igual por contenedor.
¿Hay alguna forma de hacer esto?
fuente