rabbitmq


1. Simple Message Publishing and Consumption

// Publish message
connection.createChannel((err, channel) => {
  channel.assertQueue('my-queue');
  channel.sendToQueue('my-queue', Buffer.from('Hello World!'));
});

// Consume message
connection.createChannel((err, channel) => {
  channel.assertQueue('my-queue');
  channel.consume('my-queue', (msg) => {
    console.log(msg.content.toString());
  });
});

2. Message Prioritization

// Publish message with priority
channel.sendToQueue('my-queue', Buffer.from('High Priority Message'), {
  priority: 10,
});

// Consume message by priority
channel.consume('my-queue', (msg) => {
  console.log(msg.content.toString(), `Priority: ${msg.properties.priority}`);
}, {
  noAck: true,
});

3. Message Expiration

4. Dead Letter Exchange

5. Message Retries

6. Message Deduplication

7. Publish Confirms

8. Transactional Publish

9. Consumer Prefetching

10. Consumer Acknowledgements

11. Consumer Nacks

12. Exchange Types (Direct)

13. Exchange Types (Fanout)

14. Exchange Types (Topic)

15. Message Persistence

16. Message Persistence Confirmation

17. Consumer Recovery

18. Queue Auto-Deletion

19. Queue Expiration

20. Exclusive Queue

21. Queue Message Limit

22. Queue Size Limit

23. Prefetch Size Limit

24. Message TTL

25. RabbitMQ Management Plugin