Presión de retroceso

Por virtud de utilizar el Akka Streams la biblioteca, los conectores están diseñados para ser reactivos, es decir, basados en la demanda.

Esto significa que nos beneficiamos de la contrapresión y podemos manejar cargas pesadas sin una gran pérdida de rendimiento, o que los sistemas se bloqueen debido al consumo excesivo de recursos (siempre que el sistema esté correctamente ajustado).

 Akka Streams están compuestos por tres componentes principales que, juntos, forman un grafo ejecutable.
Estos son fuentes, sumideros y flujos.
Las fuentes son productores (emiten mensajes), los sumideros son consumidores (reciben mensajes) y los flujos son una combinación de ambos (transforman mensajes).

Los consumidores pueden señalar la demanda de más mensajes, lo cual es beneficioso ya que de esta manera los consumidores no se ven inundados de mensajes. El uso de la sobrepresión de esta manera es más efectivo cuando los mensajes se escriben en algún almacenamiento de datos intermedio, es decir,event almacén, base de datos,kafka tema o jms la cola de esta manera los picos en la producción de mensajes no afectarán a los consumidores aguas abajo.

En algunas situaciones (por ejemplo,HTTP el transporte), la contrapresión puede causar que las solicitudes sean rechazadas bajo carga pesada, ya que los mensajes no tienen a dónde ir si los consumidores no pueden procesarlos lo suficientemente rápido. Aunque esta situación es la misma con o sin contrapresión.