Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Arquitecturas Basadas en Colas

Arquitecturas Basadas en Colas

Las aplicaciones modernas ya no son un servidor recibiendo peticiones de pocos usuarios. Hoy las aplicaciones necesitan colaborar con más sistemas tanto internos como externos.

Aún cuándo crear y coordinar diferentes sistemas distribuidos es muy difícil, la aplicación como un todo necesita ser estable y escalable.

En esta charla veremos técnicas que nos ayudan a lograr este objetivo.

Avatar for Nicolás Hock Isaza

Nicolás Hock Isaza

October 16, 2015
Tweet

More Decks by Nicolás Hock Isaza

Other Decks in Programming

Transcript

  1. Aplicaciones Modernas • Colaborar con diferentes sistemas internos o externos.

    • Crear y coordinar multiples servicios. Cada servicio requiere mantenimiento. • La aplicación debe ser sólida, robusta y fácil de escalar. Queue Based Architectures - @nhocki
  2. ¿Cómo es una ABC ? (Arquitecturas Basadas en Colas) Es

    una forma de diseñar sistemas donde la comunciación entre ellos se realiza a través de una cola que no pierde mensajes. Queue Based Architectures - @nhocki
  3. ¿Cuándo es una buena idea? • No se necesitan respuestas

    en tiempo real. • Eliminar tareas del ciclo de respuesta del usuario. • Se tienen tareas más lentas o en batch. • Para dividir el trabajo en diferentes procesos. Queue Based Architectures - @nhocki
  4. Rabbit MQ ! (ése no es el logo, pero es

    más tierno) Queue Based Architectures - @nhocki
  5. Exchanges Donde se envían los mensajes. Dirigen los mensajes a

    una o más colas. Queue Based Architectures - @nhocki
  6. Queues Guardan los mensajes para ser consumidos. Si hay varios

    consumidores en la misma cola, se hace round-robin. Queue Based Architectures - @nhocki
  7. Bindings Lazos entre exchanges y colas. Definen las reglas para

    el enrutamiento de mensajes. Queue Based Architectures - @nhocki
  8. Fanout: 1 — to —> ALL Envía el mensaje a

    todas las colas. Queue Based Architectures - @nhocki
  9. Fanout: 1 — to —> ALL Envía el mensaje a

    todas las colas. Queue Based Architectures - @nhocki
  10. Direct: 1 — to —> N Filtro simple por llave

    de enrutamiento. Queue Based Architectures - @nhocki
  11. Direct: 1 — to —> N Filtro simple por llave

    de enrutamiento. Queue Based Architectures - @nhocki
  12. Topic: 1 — to —> N Filtro avanzador por llave

    de enrutamiento. Queue Based Architectures - @nhocki
  13. Topic: 1 — to —> N Filtro avanzador por llave

    de enrutamiento. Queue Based Architectures - @nhocki
  14. Dashboard (Twitter) • Muchas más lecturas que escrituras. • Qué

    pasa con los tweets repetidos? (Re-tweets) • Qué pasa cuándo es una conversación? Empieza a complicarse el query. Queue Based Architectures - @nhocki