Ruido de datos innecesarios - Implementación de microservicios en AWS

Ruido de datos innecesarios

Al dividir las aplicaciones monolíticas en microservicios pequeños, la sobrecarga de comunicación aumenta porque los microservicios tienen que comunicarse entre sí. Si bien en muchas implementaciones se utiliza REST a través de HTTP porque es un protocolo de comunicación ligero, los volúmenes de mensajes elevados pueden generar problemas. En algunos casos, podría considerar el uso de servicios consolidados que envíen muchos mensajes de ida y vuelta. Si se encuentra en una situación en la que consolida cada vez más servicios solo para reducir el ruido de datos innecesarios, debe revisar sus dominios con problemas y su modelo de dominio.

Protocolos

Anteriormente en este documento técnico, en la sección Comunicación asíncrona y mensajería liviana, se examinan diferentes protocolos posibles. Para los microservicios es común usar protocolos simples como HTTP. Los mensajes que intercambian los servicios se pueden codificar de diferentes maneras, como en un formato legible para las personas como JSON o YAML o en un formato binario eficiente como Avro o Protocol Buffers.

Almacenamiento en caché

Los cachés son una excelente manera de reducir la latencia y el ruido de las arquitecturas de microservicios. Varias capas de almacenamiento en caché son posibles según el caso de uso real y los cuellos de botella. Muchas aplicaciones de microservicios que se ejecutan en AWS utilizan ElastiCache para reducir el volumen de llamadas a otros microservicios mediante el almacenamiento local en caché de los resultados. API Gateway proporciona una capa de almacenamiento en caché integrada para reducir la carga en los servidores de backend. Además, el almacenamiento en caché también es útil para reducir la carga de la capa de persistencia de los datos. El desafío para cualquier mecanismo de almacenamiento en caché es encontrar el equilibrio adecuado entre una buena tasa de aciertos de caché y la puntualidad y la coherencia de los datos.