RabbitMQ
RabbitMQ trafia do projektu wtedy, kiedy aplikacja musi robić kilka rzeczy naraz bez wzajemnego blokowania. Wysłanie e-maila po rejestracji, przetworzenie importu 10 000 produktów, generowanie PDF-a w tle — to są zadania dla kolejki, nie dla synchronicznego requesta.
W praktyce używam go z Laravelem (Laravel Queues z driverem AMQP) oraz w projektach mikroserwisowych, gdzie różne usługi muszą wymieniać zdarzenia. RabbitMQ daje mi tutaj pewność dostarczenia wiadomości, możliwość ponowienia w razie błędu i przejrzyste monitorowanie co czeka w kolejce.
Konfiguruję go z reguły w Dockerze — razem z resztą stacku, żeby środowisko było spójne lokalnie i na produkcji.
Nie jest to technologia, którą proponuję do każdego projektu — prosty cron lub wbudowane queues często wystarczą. Ale kiedy system rośnie i synchroniczne przetwarzanie zaczyna spowalniać użytkowników, RabbitMQ to naturalne rozwiązanie.
Jeśli Twoja aplikacja ma podobny problem z wydajnością lub niezawodnością — porozmawiajmy o możliwych rozwiązaniach.
4 projekty
Brak projektow i artykulow zwiazanych z ta technologia.