En la actualidad las colas son la herramienta por excelencia para cumplir con tres conceptos fundamentales de arquitectura:
- Distribución de carga
- Desacoplamiento
- Transaccionabilidad y Tolerancia
Las Colas tienen tres características básicas que favorecen su participación en la distribución de carga:
- Múltiples clientes simultáneos, varios clientes (Agentes) pueden estar esperando mensajes que se depositen la cola al mismo tiempo. Estos Agentes pueden estar en el mismo servidor o en distintos servidores.
- Exclusividad de mensajes, un mensaje que es tomado (decolado) por uno de los Agentes es bloqueado para que no sea decolado por otro Agente.
- Centralización de la distribución, al poner la cola en un servidor central es muy fácil su administración así como también agregar agentes o quitarlos.
Al ser la Cola un intermediario por definición, existe una separación entre el proveedor del mensaje y el consumidor del mismo. El único requisito es que se sepa manejar el mensaje.
Transaccionabilidad y Tolerancia
Una de las características transaccionales de las colas es que si uno de los agentes fracasa en su ejecución el mensaje es devuelto a la cola para ser procesado por otro agente que tal vez tenga éxito.
El rollback puede darse por dos razones:
- Voluntaria, el programador lo genera porque ha detectado que hay un error que puede ser reintentado, casos como IO (Sin espacio en disco, conexión caída, etc.).
- Involuntaria, se cayo el servidor, problema de hardware, etc.
No hay comentarios:
Publicar un comentario