Hola,
En una cola de tipo topic en RabbitMQ, la routing key (clave de enrutamiento) es una cadena que se utiliza para determinar a qué colas se debe enrutar un mensaje. Esta cadena, compuesta por palabras separadas por puntos, permite definir patrones de enrutamiento complejos utilizando comodines como * (para una palabra) y # (para cero o más palabras).


Elaboración:

Intercambios (Exchanges) tipo Topic:
Los intercambios tipo topic son un tipo de exchange en RabbitMQ que permite un enrutamiento flexible basado en patrones de palabras clave en la routing key.

Clave de Enrutamiento (Routing Key):
El productor incluye una routing key en el mensaje, que actúa como una dirección para el intercambio.

Vinculaciones (Bindings):
Las colas se vinculan al exchange con patrones de vinculación (binding patterns) que pueden coincidir con la routing key del mensaje.

Comodines en las Vinculaciones:
Los patrones de vinculación pueden usar * (asterisco) para coincidir con una sola palabra y # (almohadilla) para coincidir con cero o más palabras, permitiendo un enrutamiento más flexible.

Ejemplo:
Si un mensaje tiene la routing key "news.sport.2024", y una cola tiene una vinculación con el patrón "news.#", el mensaje se enrutará a esa cola porque la vinculación coincide con la routing key.

En resumen:
La routing key y las vinculaciones con patrones en un exchange tipo topic permiten un control preciso de a qué colas se envían los mensajes, basándose en la estructura y el contenido de la routing key.


Hola,
Como se pueden descartar los cambios de clases a las cuales ya se les hizo COMMIT en GIT, pero aún no se les ha realizo el PUSH?


Se realiza de la siguiente forma:

Resetear el commit (rehacerlo sin esa clase)

git reset --soft HEAD~1

Esto revierte el último commit pero deja los archivos como estaban en staging, osea, mantiene los cambios para poderlos versionar nuevamente.