RabbitMQ je message broker podľa filozofie „smart pipes“ s integráciou pre mnohé jazyky a priamou podporou pre typické scenáre.
Úvod k RabbitMQ
Slajdy
- slajdy k message brokeru RabbitMQ (november 2022)
Rok 2023
Obsah
- RabbitMQ ako príklad brokera
- Koncepty: exchange, queue, binding
- Doručovanie správ cez distribúciu práce a broadcast
- Pokročilé routovanie správ
- Posielanie štruktúrovaných správ
- Failover: ošetrovanie zlyhania
Videá
Zdrojové kódy
Projekty pre konzumenta i producenta, repozitár novotnyr/kopr-rabbitmq-cars-2023
na GitHub.com.
- Demonštrácia producenta i konzumenta
- Platforma:
- Spring Boot / Spring AMQP Starter
- Kotlin 1.8 na platforme Java 17
- buildovanie a závislosti cez Gradle
Rok 2022
Obsah
- RabbitMQ ako príklad brokera
- Koncepty: exchange, queue, binding
- Doručovanie správ cez distribúciu práce a broadcast
- Pokročilé routovanie správ
- Posielanie štruktúrovaných správ
- Failover: ošetrovanie zlyhania
- Acknowledgement správ
Videá
Zdrojové kódy
Projekty pre konzumenta i producenta, repozitár novotnyr/kopr-rabbitmq-cars-2022
na GitHub.com
Rok 2021
Zdrojové kódy
Producent a konzument, repozitár novotnyr/kopr-rabbitmq-money-2021
na GitHub.com
Demonštruje sa:
- deklarácia exchangov, bindingov a queue (frontov) v Java kóde
- binding exchangov na viacero frontov cez routovacie kľúče
- vlastná obsluha výnimiek v Java kóde a prevod na zamietnutie či acknowledgment správy cez
RabbitListenerErrorHandler
- rozličné spôsoby zamietnutia správy
- ručný acknowledgement správ v poslucháčoch
@RabbitListener
- správy prepravované v JSONe a konvertované z objektov do JSONu (producent) a z JSONu do objektov (konzument)
Rok 2020
Úvodné koncepty
-
RabbitMQ ako príklad brokera
-
Koncepty: exchange, queue, binding
-
Doručovanie správ cez distribúciu práce a broadcast
-
video RabbitMQ dostupné z UPJŠ cez Microsoft Stream od cca 22:00m. (október 2020)
-
ukážka producenta a konzumenta. Použitie exchangu typu fanout i topic. Demonštrácia viacerých konzumentov. (október 2020)
Pokročilejšie koncepty
- Pokročilé routovanie správ
- Posielanie štruktúrovaných správ
- Failover: ošetrovanie zlyhania
- Acknowledgement správ
Video: RabbitMQ, stretnutie 2 dostupné z UPJŠ cez Microsoft Stream. (november 2021)
Zdrojové kódy
Projekty pre konzumenta i producenta — repozitár novotnyr/kopr-rabbitmq-money-2020
na GitHub.com
- routovanie pomocou routing keys,
- spoľahliví a nespoľahliví konzumenti,
- explicitné kontajnery pre poslucháčov správ
MessageListenerContainer
, - nízkoúrovňové API pre prácu s objektami RabbitMQ: ručné acknowledgementy, továrne na pripojenia
ConnectionFactory
, základný acknowledgement a zamietnutie správy, - správy prepravované v JSONe a konvertované z objektov do JSONu (producent) a z JSONu do objektov (konzument)
Spustenie RabbitMQ
RabbitMQ sa dá nainštalovať na všetky hlavné platformy.
Na rýchle spustenie použime Docker:
docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3.11.2-management
Logy pri štarte:
docker logs -f rabbitmq
Na konci uvidíme:
Server startup complete; 4 plugins started.
Navštívme administrátorské rozhranie, alias „oranžové UI“. Cez prehliadač navštívme:
http://localhost:15672/
Login a heslo je guest
a guest
.