Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
Pojďme to probrat

RabbitMQ — asynchronní messaging v praxi

25. 09. 2014 1 min čtení CORE SYSTEMSdevelopment

Uživatel klikne na „Generovat report”. Synchronní zpracování trvá 30 sekund. Řešení? Přesuňte těžkou práci do pozadí. RabbitMQ je náš nástroj pro asynchronní zpracování a decoupling služeb.

Proč RabbitMQ

AMQP standard, bohatý management UI, výborná Java podpora přes Spring AMQP. Producent pošle zprávu, konzument ji zpracuje. Lepší UX, škálovatelnost, odolnost.

Exchanges, queues, bindings

@Bean
public Queue reportQueue() {
    return new Queue("reports.generate", true);
}

@RabbitListener(queues = "reports.generate")
public void handleReport(ReportRequest request) {
    byte[] pdf = reportService.generate(request);
    emailService.sendReport(request.getUserEmail(), pdf);
}

Error handling a dead letter queue

Tři pokusy s exponenciálním backoff, pak přesun do DLQ. Monitoring DLQ součástí alertingu. Management Plugin na portu 15672 pro přehled front a throughput.

Messaging je architekturní vzor

Místo synchronních volání přemýšlíte v událostech a frontách. Výsledek: odolnější, škálovatelnější systém.

rabbitmqmessagingamqpasynchronní
Sdílet:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.