Request/reply (RPC) qua RabbitMQ cho phép giao tiếp request-response kiểu đồng bộ sử dụng messaging — một client gửi một request và nhận một response qua một reply queue, dùng một correlation ID để khớp các response với các request. Đó là một mẫu hữu ích cho các cuộc gọi service-to-service.
Cách RPC hoạt động trong RabbitMQ
Mẫu RPC qua messaging:
1. CLIENT gửi một message REQUEST, bao gồm:
→ một queue REPLY-TO (nơi response nên đi đến)
→ một CORRELATION ID (ID duy nhất để khớp response với request này)
2. SERVER (consumer) xử lý request và gửi một RESPONSE đến reply-to queue,
bao gồm cùng CORRELATION ID
3. CLIENT nhận response từ reply queue của nó, khớp nó theo CORRELATION ID →
ghép response với request gốc
→ request-response qua messaging bất đồng bộ
