Czasami w projekcie musimy użyć narzędzia, które pomoże nam w dystrybucji komunikatów na kolejki, czyli w kolejkowaniu zadań. Często potrzebujemy takiego narzędzia, gdy chcemy stworzyć newsletter dla klientów, czy generowanie plików PDF lub innych operacji, które wymagają więcej czasu oczekiwania. RabbitMQ jest właśnie takim narzędziem, które pomoże nam w tym zadaniu.

RabbitMQ

RabbitMQ narzędzie do kolejkowania zadań

Jak na wstępie wspomniałem RabbitMQ jest narzędziem, które pozwoli nam kolejkować zadania. RabbitMQ przyjmuje i przekazuje zadania. Oficjalna dokumentacja projektu mówi nam, że możemy pomyśleć o RabbitMQ jako o placówce pocztowej. Umieszczając list w skrzynce pocztowej lub zostawiając taki list na poczcie, który chcemy nadać, jesteśmy pewni że listonosz w końcu dostarczy przesyłkę odbiorców. Może to zająć trochę, ale odbiorca otrzyma od nas list. W tej analogii RabbitMQ jest to skrzynka pocztowa, poczta i listonosz. Główna różnica jest taka, że RabbitMQ nie zajmuje się dostarczaniem w formie papierowej, zamiast tego przyjmuje, przechowuje i przekazuje binarne bloby danych. RabbitMQ używa pewnego żargonu:

  • Producing - czyli wysyłanie, program wysyłający wiadomości do producent.
  • Queue - to nazwa skrzynki pocztowej. Komunikaty, które przepływają przez RabbitMQ, mogą być przechowywane tylko w kolejce. Kolejka jest ograniczona tylko limitami pamięci i dysku hosta.
  • Consuming - Ma podobne znaczenie jak Producing. Consuming to program, który w większości czeka na otrzymanie wiadomości.

 

Instalacja RabbitMQ

RabbitMQ wspiera wiele języków programowania, ja w tym artykule przedstawię instalacje dla języka Javascript, jeśli korzystasz z innego języka, zajrzyj do dokumentacji.

 

Instalujemy moduł amqp.node, który pozwoli nam na wysyłanie i otrzymywanie zadań:

npm install amqplib

 

Jeżeli chcemy mieć podgląd zobaczenia jakie kolejki ma RabbitMQ i ile wiadomości się w nich znajduje, musimy zainstalować narzędzie rabbitmqctl:

sudo rabbitmqctl list_queues

 

lub Windows:

rabbitmqctl.bat list_queues

Powiązane artykuły

Z jakich usług AWS warto skorzystać przy tworzeniu stron internetowych? 

8 mar 2022

Amazon Web Services (AWS) to chyba jedna z najważniejszych platform chmury obliczeniowej dostępnych na rynku. Oferuje ona szeroki zakres usług, które pomagają w tworzeniu, rozwijaniu i utrzymaniu stron internetowych.

Tomasz Kozon

#devops

related-article-image-chmura, AWS

Jak wykorzystać pliki cookies do poprawy jakości działania strony internetowej?

16 mar 2023

W erze cyfrowej, gdzie użytkownicy oczekują szybkich, spersonalizowanych i bezproblemowych doświadczeń online, coraz więcej właścicieli stron internetowych poszukuje skutecznych sposobów na poprawę jakości swoich witryn. Jednym z narzędzi, które może przyczynić się do osiągnięcia tego celu, są pliki cookie.

Tomasz Kozon

Reklamowanie się w Gmailu za pomocą Gmail Sponsored Promotion.

15 mar 2023

Reklama w internecie to obecnie niezbędny element strategii marketingowych dla firm każdej wielkości i branży. Jednym z kanałów reklamowych, które zdobywają coraz większą popularność, jest Gmail Sponsored Promotion. To narzędzie pozwala na wyświetlanie reklam w skrzynce odbiorczej użytkowników Gmaila w sposób nieinwazyjny i dopasowany do profilu odbiorcy.

Tomasz Kozon

Jakie są różnice między atrybutami nofollow i dofollow?

14 mar 2023

W świecie SEO atrybuty nofollow i dofollow są pojęciami, z którymi każdy właściciel strony internetowej powinien się zapoznać. Oba atrybuty stanowią ważny element optymalizacji strony internetowej, wpływając na jej pozycję w wynikach wyszukiwania. Atrybut nofollow i dofollow oznaczają dwa różne podejścia do linkowania, a ich właściwe stosowanie może przynieść korzyści dla witryny internetowej w postaci zwiększenia ruchu i poprawy reputacji w oczach algorytmów wyszukiwarek.

Tomasz Kozon

Definition of Done w metodologii Agile - jak wykorzystać ten koncept w praktyce

14 mar 2023

W dzisiejszym dynamicznym świecie zarządzania projektami IT, metodologia Agile zyskuje coraz większą popularność jako elastyczne i efektywne podejście do wytwarzania oprogramowania. Wśród kluczowych konceptów Agile, Definition of Done (DoD) pełni istotną rolę w utrzymaniu wysokiej jakości produktów oraz sprawnym monitorowaniu postępów projektu.

Tomasz Kozon

Geotargetowanie w strategii marketingowej: Jak może przyczynić się do wzrostu sprzedaży i świadomości marki

14 mar 2023

W erze cyfryzacji i rosnącej konkurencji na rynku, przedsiębiorstwa poszukują coraz bardziej efektywnych i innowacyjnych strategii marketingowych. Geotargetowanie, czyli wykorzystanie danych geolokalizacyjnych w celu dostarczania spersonalizowanych treści i reklam, stało się jednym z kluczowych narzędzi w budowaniu skutecznych kampanii.

Tomasz Kozon

Co to jest robots.txt i do czego służy?

14 mar 2023

Robots.txt to plik, który jest często pomijany przez właścicieli stron internetowych, a jednocześnie może mieć kluczowe znaczenie dla ich widoczności w wyszukiwarkach. Plik ten określa zasady, według których roboty wyszukiwarek powinny indeksować naszą witrynę. Właściwe wykorzystanie pliku pozwala kontrolować indeksowanie poszczególnych sekcji naszej witryny, co zwiększa jej bezpieczeństwo oraz skupia uwagę robotów na najważniejszych elementach.

Tomasz Kozon

Zobacz wszystkie artykuły