Apache ActiveMQ je open-source zprostředkovatel zpráv napsaný v Javě. Podporuje několik vícejazyčných klientů a protokolů.
Zprostředkovatel zpráv Apache ActiveMQ je rychlá, spolehlivá, škálovatelná a zcela integrovaná platforma pro zasílání zpráv s otevřeným zdrojovým kódem pro zpracování velkého množství zpráv (ingest) nebo mnoha spotřebitelů (odeslání). Používá paměť jako formát úložiště; lze jej nakonfigurovat tak, aby v případě potřeby trvale ukládal data na disk. Počáteční čas spuštění může být pomalý, protože ActiveMQ načte všechny historické informace do paměti. Po prvním spuštění, které může trvat až několik minut v závislosti na tom, kolik historie máte uloženo ve frontách a dalších konfiguračních nastaveních, se však výkon začne škálovat až do bodu, kdy vezmeme v úvahu další faktory, jako jsou systémové prostředky.
Na základě svých počátků jako zkušenosti pouhého přechodu od interního řešení pro zasílání zpráv na komerční produkt lze ActiveMQ považovat za jeden z těch produktů, které byly neustále vyvíjeny a vylepšovány, nabízející extrémně vysokou kvalitu a solidní stabilitu.
ActiveMQ poskytuje jak jednoduchého vestavěného brokera, tak plně nasazené, vysoce dostupné podnikové řešení. Jeho nejdůležitějšími vlastnostmi a přednostmi jsou vysoká dostupnost a převzetí služeb při selhání (nastavení s jedním brokerem může přežít až 99,999 % ztráty zpráv), podpora mnoha způsobů připojení klientů (včetně webových konzolí, nástrojů příkazového řádku a knihoven, klienta JMS knihovny atd.), shlukování přes fyzické hranice, vyrovnávání zátěže pomocí více interních front na téma, flexibilní konfigurace jako perzistentní nebo neperzistentní zprávy podle potřeby, perzistence dat podle souboru nebo databáze, implementace zabezpečení založená na autentizaci JAAS model, který také podporuje implementaci LDAP.
ActiveMQ je skutečně preferovaným řešením pro zasílání zpráv pro vývojáře Java, architekty infrastruktury a systémové integrátory. Lze jej použít jak v malých nasazeních (v takovém případě pravděpodobně použijete embedded broker), tak v řešeních velkých podniků (která vyžadují clustering a převzetí služeb při selhání).
V závislosti na vašich potřebách lze ActiveMQ snadno škálovat na scénáře s vysokou dostupností s plným vyrovnáváním zátěže napříč všemi brokery, včetně dynamického přidávání nových uzlů, když ty stávající vypadnou; stavové převzetí služeb při selhání s automatickou opětovnou synchronizací a potenciální ztrátou dat (což je vždy možné), plně podporované samotným ActiveMQ:jen další dva uzly, které je třeba nakonfigurovat do clusteru pro vysokou dostupnost.
Apache ActiveMQ je multiplatformní a běží na Java Virtual Machine (JVM). ActiveMQ můžete použít na Linuxu, Windows nebo OS X.
V této příručce vás provedeme základní instalací a nastavením Apache ActiveMQ na Ubuntu 20.04 LTS a také provedeme základní konfiguraci a ověřovací test.
Začněme!
Předpoklady
Abyste se mohli spojit s naším průvodcem, budete potřebovat:
- Box Ubuntu Linux pro spuštění ActiveMQ. Může to být fyzický server nebo virtuální stroj; důležité je, že může provozovat JVM a má alespoň 2 GB RAM a 20 GB místa na disku. Měli byste alokovat více v závislosti na vašich potřebách, jako je spouštění dalších služeb, jako jsou srovnávací testy ActiveMQ, databázové servery nebo protokolovací nástroje.
- Kořenový přístup k běžícímu boxu Ubuntu.
Aktualizace systému
Před instalací jakýchkoli balíčků je důležité se ujistit, že je systém aktuální. Spusťte následující příkaz pro aktualizaci systému.
sudo apt update && sudo apt upgrade -y
Pomocí následujících příkazů můžete také nainstalovat některé další nástroje, které budete pro tento výukový program potřebovat.
sudo apt install wget curl ia32-libs -y
Instalace Java
Apache ActiveMQ je napsán v jazyce Java, a proto vyžaduje, aby bylo na stroji nainstalováno prostředí Java run-time environment (JRE). Můžete jej nainstalovat pomocí následujícího příkazu.
sudo apt install openjdk-11-jre -y
Po dokončení instalace spusťte příkaz java s příznakem -version a zkontrolujte, zda funguje správně.
java -version
Výstup by měl být podobný následujícímu.
Instalace Apache ActiveMQ
Nyní, když máme spuštěný systém a prostředí JRE, můžeme přistoupit ke stažení a instalaci Apache ActiveMQ.
Nejprve si budete muset stáhnout nejnovější verzi z oficiálního webu ActiveMQ.
Chceme, aby tarball byl označen jako apache-activemq-5.16.3-bin.tar.gz, nejnovější verze v době psaní tohoto článku.
Spusťte příkaz wget a stáhněte jej.
wget http://archive.apache.org/dist/activemq/5.16.3/apache-activemq-5.16.3-bin.tar.gz
Protože stahujete archiv, extrahujte soubory pomocí následujícího příkazu. To by mělo extrahovat obsah do adresáře nazvaného „apache-activemq-“ a právě do tohoto adresáře nainstalujeme ActiveMQ do našeho systému.
sudo tar -xvzf apache-activemq-5.16.3-bin.tar.gz
Dále vytvořte nový adresář s názvem /opt/activemq a poté přesuňte všechny soubory z apache-activemq do tohoto adresáře spuštěním příkazu níže
sudo mkdir /opt/activemq && sudo mv apache-activemq-5.16.3/* /opt/activemq
Poté vytvořte vyhrazené uživatelské a skupinové účty pro spuštění ActiveMQ. Pro tento účel doporučujeme vytvořit vyhrazeného uživatele, ale můžete provést jakékoli změny v systému, které považujete za nezbytné.
Vytvořte požadované skupinové účty a uživatelské účty pomocí následujících příkazů.
sudo addgroup --quiet --system activemq sudo adduser --quiet --system --ingroup activemq --no-create-home --disabled-password activemq
Možná budete muset použít sudo chown -R :
sudo chown -R activemq:activemq /opt/activemq
Dále budete muset vytvořit soubor servisní jednotky Apache ActiveMQ Systemd spuštěním následujícího příkazu. Protože to poskytuje prostředek pro snadné spouštění, zastavování a restartování služby, aniž byste museli pokaždé ručně přecházet do adresáře.
sudo nano /etc/systemd/system/activemq.service
Nano otevře ve vaší relaci terminálu okno editoru s prázdným obsahem souboru, který můžete upravit. Zadejte následující konfiguraci v nano. Při nastavování vlastnosti JAVA_HOME nahraďte activemq svým uživatelským jménem.
[Unit] Description=Apache ActiveMQ After=network.target [Service] Type=forking User=activemq Group=activemq ExecStart=/opt/activemq/bin/activemq start ExecStop=/opt/activemq/bin/activemq stop [Install] WantedBy=multi-user.target
Po dokončení stiskněte CTRL+X, Y a Enter pro uložení souboru.
Poté znovu načtěte systémového démona a spusťte službu spuštěním následujícího příkazu.
sudo systemctl daemon-reload && sudo systemctl start activemq
sudo systemctl enable activemq
Pomocí tohoto příkazu můžete zkontrolovat, zda služba běží správně, nebo ne.
sudo systemctl status activemq
Výstup by měl ukazovat něco podobného následujícímu, když běží správně.
Přístup k webovému uživatelskému rozhraní Apache ActiveMQ
Nyní, když máme službu spuštěnou, můžeme k ní pohodlně přistupovat pomocí webového prohlížeče. Otevřete svůj oblíbený prohlížeč a přejděte na adresu http://server_ip:8161/admin.
Kde server_ip je skutečná IP adresa vašeho serveru. Ve výchozím nastavení nainstaluje ActiveMQ webové uživatelské rozhraní na port 8161 a /admin je pro přístup ke konzole pro správu.
Budete přesměrováni na výzvu k zadání hesla, která vás požádá o zadání uživatelského jména a hesla, jak je uvedeno níže.
Zadejte výchozí uživatelské jméno a heslo, což je „admin“, pro obě pole a klikněte na Přihlásit se . Po přihlášení se dostanete na konzolu pro správu Apache ActiveMQ, jak je znázorněno níže.
A je to! Nyní jsme úspěšně nainstalovali Apache ActiveMQ na náš server Ubuntu 20.04 s démonem, webovým uživatelským rozhraním a službou Systemd.
Závěr
No a to je pro tento tutoriál vše. Úspěšně jsme nainstalovali Apache ActiveMQ na náš server Ubuntu 20.04.
Nyní můžete využít Apache ActiveMQ k vytvoření lehkého podnikového systému zasílání zpráv pro doručování velkých objemů zpráv.