Bienvenida

1

Celery ¿Qué es, para qué sirve, cómo se usa?

2

Repositorio del proyecto

3

Arquitecturas de software basadas en mensajería y colas de tareas

4

Brokers de tareas: Servidores de mensajería y formas de usarlos

5

¿Cuándo debemos usar Celery?

6

Reto: Casos de uso de Celery

Bot de Slack

7

¿Cómo funciona un bot?

8

Cómo funciona el API de Slack para programación de bots (y parecidos y diferencias con otros APIs)

9

¿Cómo crear un bot reactivo?

10

Reto: posibles aplicaciones de bots de Slack, buscar ejemplos y entender cómo se llevarían a cabo

11

Reto: modificar el bot básico y crear alguno que responda a a algún tipo de petición o muestre algo

Brokers de mensajería

12

¿Qué es un broker de mensajería y cuándo debe usarse?

13

Conceptos: mecanismos de publicación/suscripción. Canales. Intercambiadores

14

Brokers de mensajería open source

15

Python con RabbitMQ uso básico de la terminal

16

Comparación de diferentes brokers de mensajería para trabajar con Celery

17

Reto: Crear una pequeña aplicación cliente-servidor que use RabbitMQ desde Python

Celery y brokers de mensajería

18

Creando un entorno de desarrollo para Celery

19

Instalación y creación de un programa básico pub/sub

20

Cómo usar Celery para programar un robot de Slack: diseño y comienzo de la implementación

21

Monitorización de tareas

22

Solucionando problemas

23

Reto: implementación y despliegue básico de un bot de Slack

Enrutado de tareas

24

Conceptos: enrutado de tareas y por qué se necesita

25

Enrutado manual

26

Mensajería en Celery: uso de Kombu

27

Enrutado automático

28

Reto: diseño de mecanismos de enrutado para un bot de Slack

Integración y despliegue en la nube

29

Estructura de mensajes en Celery y resultados de tareas

30

Tareas periódicas con Celery

31

Configuración de sistemas en la nube

32

Contenedores

33

Despliegue en un PaaS: Heroku

34

Uso de Celery con Node.js

35

Reto: despliegue en la nube (usando cuentas gratuitas)

Conclusiones

36

Despedida, conclusiones y a dónde ir desde aquí

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Celery 4

Curso de Celery 4

Juan Julián Merelo

Juan Julián Merelo

¿Qué es un broker de mensajería y cuándo debe usarse?

12/36
Recursos

Un broker de mensajería o message-oriented middleware es algo que está en medio, un intermediario. El broker de mensajería se va asegurar de que lo mensajes lleguen a su destino y esos mensajes tendrán una serie de cliente.

Nunca hacen una interacción directa de uno a otro ya que sería una interacción síncrona.

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

🤙

Me gusto, la explicación esta, todo muy claro

Me gustó la explicación.

La cola de mensajes tienen clientes que van a emitir mensajes, mensajes que se colocan por orden.

el broker de mensajeria se va a encargar de que los mensajes lleguen al destino, los mensajes tendran una serie de clientes que van a ir leyendo los mensajes que se colocaron en la cola.

Cuando el broker de mensajeria se tiene programado para que los mensajes se lean una sola vez, este lee el mensaje, luego se destruye de la cola, y se pasa al elemento siguiente en la cola.

La diferencia entre el cliente y el store puede que no sea mucha, porque el cliente puede emitar un mensaje donde diga “he recibido el mensaje”, entonces avisa al broker de mensajeria y el broker de mensajeria termina ahi su trabajo.

El broker de mensajeria se va a asegurar de que el mensaje siempre se reciba, puede establecer mecanismos como por ejemplo un timeout, en el que si no se ha recibido el mensaje en un tiempo determinado, lo vuelve a enviar hasta que se reciba,

El broker de mensajeria puede asignar prioridades, se pueden tener varios clientes leyendo la cola de mensajes a la vez, pero, hay algunos clientes que tienen mas prioridad que otros, entonces en caso de contencion, en caso de “empate”, el cliente con mas alta prioridad es el que recibe el mensaje.

De esta manera se construyen arquitecturas muy flexibles, que permiten tener sistemas en la nube administrados por los broker de mensajeria.

El broker de mensajeria tambien puede tener mecanismos internos que le permitan duplicarse, tambien monitorizar su desempenio y cuando sea necesario trabajar con varias colas, o multiplicar nodos computacionales para que se sincronicen entre si y permitan distribuir con mas altas prestaciones el trabajo computacional.

Los brokers de mensajeria no tienden a tener una interaccion directa de uno a otro, porque esta seria sincrona y pararia todo el resto del sistema hasta que termine la interaccion.

Celery nos permitira trabajar con los brokers de mensajeria de forma eficiente y de forma abstracta, creando una abstraccion que va a ser la idea de tarea de forma que no nos tengamos que preocupar tanto por el hecho de enviar y recibir mensajes, sino simplemente por el hecho de decidir que worker (o muchos workers) ejecutara la tarea.

Funciona como pub/sub? es decir una app podría subscribirse y leer los mensajes de cierta app que ponga mensajes en la cola? . Que protocola usa el cliente que lee los mensajes en el broker?

Microservicios inicia aqui 😄