RabbitMQ je nejpopulárnější bezplatný software s otevřeným zdrojovým kódem pro řazení zpráv nebo zprostředkovatel zpráv. RabbitMQ původně implementoval Advanced Message Queuing Protocol (AMQP). Podporuje také protokoly jako STOMP (Streaming Text Oriented Messaging Protocol) a MQTT (Message Queuing Telemetry Transport).
Obecně se software zprostředkovatele zpráv používá k odesílání a přijímání zpráv mezi různými druhy distribuovaných služeb, systémů nebo aplikací.
RabbitMQ, který byl napsán v programovacím jazyce Erlang, má následující vlastnosti:
- Podpora více protokolů – AMQP, MQTT, STOMP, HTTP
- Podpora klientských rozhraní a knihoven pro všechny hlavní programovací jazyky
- Shlukování / vysoká dostupnost
- Různorodá sada nástrojů a pluginů
- Směrování zpráv mezi ústřednami a frontami
- Uživatelsky přívětivé webové rozhraní pro sledování a ovládání zprostředkovatele zpráv
- Možnosti sledování
V tomto tutoriálu vám ukážeme, jak nastavit RabbitMQ na Ubuntu 18.04 (Bionic Beaver).
Instalace RabbitMQ na Ubuntu
Nejprve nám dovolte aktualizovat úložiště ubuntu:
sudo apt-get update
Přidejte podpisový klíč pomocí některého z následujících příkazů:
wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add -
nebo
sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
Vytvořte soubor úložiště Rabbitmq.
vim /etc/apt/sources.list.d/bintray.rabbitmq.list
Přidejte do souboru následující úložiště.
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang deb https://dl.bintray.com/rabbitmq/debian bionic main
Uložte a zavřete soubor.
Spusťte aktualizaci úložiště.
sudo apt-get update
Nainstalujte RabbitMQ Server.
sudo apt-get install rabbitmq-server
Zkontrolujte stav serveru RabbitMQ.
sudo systemctl status rabbitmq-server.service
Pokud RabbitMQ neběží, spusťte službu tímto příkazem:
sudo systemctl start rabbitmq-server.service
Povolte službu RabbitMQ při spouštění systému.
sudo systemctl enable rabbitmq-server
Porty RabbitMQ
4369:epmd, peer discovery služba používaná uzly RabbitMQ a nástroji CLI
5672, 5671:používaná klienty AMQP 0-9-1 a 1.0 bez a s TLS
25672:používá se pro meziuzlové a Komunikace nástrojů CLI
35672-35682:používá se nástroji CLI (porty klientů distribuce Erlang) pro komunikaci s uzly a je alokována z dynamického rozsahu
15672:klienti HTTP API, uživatelské rozhraní pro správu a králíkmqadmin (pouze pokud je povolen modul pro správu)
61613, 61614:klienti STOMP bez a s TLS (pouze pokud je povolen plugin STOMP)
1883, 8883:(klienti MQTT bez a s TLS, pokud je povolen plugin MQTT
15674:Klienti STOMP-over-WebSockets (pouze pokud je povolen plugin Web STOMP)
15675:Klienti MQTT-over-WebSockets (pouze pokud je povolen plugin Web MQTT)
Povolit uživatelské rozhraní RabbitMQ Management prostřednictvím brány Firewall
Konzola pro správu RabbitMQ běží na portu 15672 a je třeba jí udělit oprávnění prostřednictvím brány firewall.
sudo ufw allow 15672
Po úspěšné instalaci máme přístup k webové konzoli pro správu, která běží na portu „15672“.
Ve výchozím nastavení však není plugin „Installation Management Console“ povolen. Tento plugin je nutný pro sledování a správu serveru RabbitMQ. Používá se také k monitorování front, rychlosti zpráv a správě front, vazeb a uživatelů atd.
Podívejme se, jak můžeme povolit plugin ‚Installation Management Console‘. Ale než to uděláme, podívejme se na všechny dostupné pluginy RabbitMQ.
sudo rabbitmq-plugins list
Nyní povolte plugin RabbitMQ Management
sudo rabbitmq-plugins enable rabbitmq_management
Ke konzoli pro správu můžeme přistupovat pomocí výchozího uživatele typu host. Potřebujeme však vytvořit a přidat nového administrátora pro přístup ke konzole pro správu.
Zde vytvoříme uživatele s uživatelským jménem ‚admin‘ a heslem je také ‚admin‘. Doporučil bych však použít silné heslo pro zabezpečení.
sudo rabbitmqctl add_user admin admin
Nyní označíme našeho uživatele ‚admin‘, kterého jsme vytvořili ve výše uvedených krocích, jako ‚administrator‘
sudo rabbitmqctl set_user_tags admin administrator
Nyní jsme připraveni restartovat službu RabbitMQ
sudo systemctl restart rabbitmq-server.service
Než přistoupíme k uživatelskému rozhraní pro správu, zkontrolujte porty na serveru
sudo netstat -tunlp
Přístup k uživatelskému rozhraní správy
Ke konzole Management Console lze přistupovat pomocí jedné z těchto adres URL:
- http://ServerIp nebo
- název hostitele:15672/
Např.:– http://13.236.85.236:15672 / nebo http://rabbitmq.fosslinux.com:15672
Budete moci zobrazit přihlašovací okno konzoly.
Poté použijte již vytvořené uživatelské jméno a heslo správce pro přístup k řídicímu panelu.
Úspěšně jste nainstalovali a nakonfigurovali RabbitMQ server.
Pokud máte nějaké problémy nebo dotazy, neváhejte se zeptat v sekci komentářů níže.