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 Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Message Queue Patterns

01. 01. 2024 1 min čtení intermediate

Architektura Pokročilý

Message Queue Patterns

Message QueueRabbitMQAsync 3 min čtení

Návrhové vzory pro message queues. Work queues, dead letter queues a příklady s RabbitMQ.

Work Queue

// Producer
ch.assertQueue('email-queue', { durable: true });
ch.sendToQueue('email-queue', Buffer.from(JSON.stringify({
    to: 'user@example.com', subject: 'Potvrzení'
})), { persistent: true });

// Consumer
ch.prefetch(1);
ch.consume('email-queue', async (msg) => {
    await sendEmail(JSON.parse(msg.content.toString()));
    ch.ack(msg);
});

Dead Letter Queue

Zprávy po N neúspěšných pokusech se přesouvají do DLQ pro analýzu.

ch.assertQueue('orders', {
    durable: true,
    arguments: {
        'x-dead-letter-exchange': 'dlx',
        'x-dead-letter-routing-key': 'dead-orders'
    }
});

Shrnutí

Work queues pro background jobs, pub/sub pro events, DLQ pro error handling. RabbitMQ pro routing, Kafka pro streaming.

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace