GNU/Linux >> Znalost Linux >  >> Linux

Instalace a správa Rabbitmq

Úvod

Každý zkušený správce systému ví, že někdy je odkládání úkolů na později velmi užitečné a dokonce nutné, zvláště pokud je úkol časově náročný a spotřebovává mnoho zdrojů. K tomu potřebujete zprostředkovatele zpráv – program, který přijímá zprávy (úkoly) od různých odesílatelů (webových aplikací), vytváří z nich frontu a následně je rozděluje mezi pracovní procesy.

Tento článek se zaměří na projekt RabbitMQ – spoustu otevřených aplikací pro implementaci funkcí zprostředkovatele zpráv, který implementuje Advanced Message Queuing Protocol (AMQP).

Zprávy, zprostředkovatelé zpráv a sekvence

Zasílání zpráv je způsob výměny určitých dat mezi procesy, aplikacemi, virtuálními a fyzickými servery. Tyto zprávy, které provádějí některé výpočetní funkce, mohou obsahovat téměř cokoli, od prostého textu až po velké bloky binárních dat. Pro správné provedení tohoto procesu je zapotřebí program třetí strany – to je zprostředkovatel zpráv.

Zprostředkovatel zpráv je obvykle skupina aplikací, jejichž každá jednotlivá součást je navržena tak, aby zpracovala určitou fázi zasílání zpráv:přijmout zprávu, definovat ji ve frontě a přenést zprávu do pracovního procesu odpovědného za její provedení. Často se místo plnohodnotných řešení používají programy, které pro tuto práci původně nebyly určeny (databáze, cron daemon apod.); jednoduše vytvoří frontu zpráv (která technicky představuje nekonečné buffery) a poté je předají k automatickému zpracování nebo k dotazování.

Proč potřebujete zprostředkovatele zpráv?

Zprostředkovatelé zpráv fungují jako prostředník mezi různými službami (webovými aplikacemi). Výrazně snižují zátěž a zkracují dobu doručení zpráv, protože úlohy, jejichž zpracování nějakou dobu trvá, jsou rozděleny mezi pracovní postupy určené výhradně k provádění těchto úloh. Poskytují spolehlivý kanál pro přenos zpráv z jedné aplikace do druhé.

Kdy potřebujete zprostředkovatele zpráv?

Obecně platí, že základní funkce zprostředkovatelů zpráv pokrývají mnoho oblastí, včetně, ale nejen:

  • Snížení doby odezvy webových serverů na požadavky (protože nemusí provádět úkoly náročné na zdroje).
  • Distribuce zprávy několika příjemcům (například pro zpracování).
  • Uživatelé offline mohou později načíst všechna data.
  • Zcela asynchronní režim provozu se serverovými systémy.
  • Řazení a prioritizace úkolů;
  • Vyrovnávání zátěže mezi pracovními procesy.
  • Zlepšení spolehlivosti a provozuschopnosti aplikace.

A mnohem více.

Krátká recenze RabbitMQ

RabbitMQ (vydáno v roce 2007) je jedním z nejpopulárnějších zprostředkovatelů zpráv s otevřeným zdrojovým kódem licencovaným pod licencí Mozilla Public License v1.1 jako implementace protokolu Advanced Message Queuing Protocol. RabbitMQ, navržený v Erlangu, se poměrně snadno používá a instaluje.

Jak RabbitMQ funguje?

RabbitMQ poskytuje rozhraní, které spojuje odesílatele (Publishers) s příjemci (Consumers) pomocí brokera, který distribuuje data v příslušných seznamech – Message Queues.

APPLICATION       EXCHANGE        TASK LIST        WORKER
[DATA]  -------> [DATA] ------> [D]+[D][D][D] ---> [DATA]
Publisher        EXCHANGE          Queue         Consumer

Výhody RabbitMQ

Na rozdíl od jiných řešení je RabbitMQ plnohodnotným aplikačním zásobníkem a ne jednoduchým základem pro aplikaci dle vašeho výběru. Poskytuje všechny potřebné nástroje v komplexu.

Krátká recenze AMQP

AMQP (Advanced Message Queuing Protocol) je rozšířený otevřený standard pro distribuci a přenos zpráv. Jako protokol a standard vytváří společný rámec pro interakci různých aplikací a zprostředkovatelů zpráv a odstraňuje problémy způsobené návrhem jednotlivých programů.

Instalace RabbitMQ

Balíčky RabbitMQ poskytují CentOS / RHEL a Ubuntu / Debian. Takové balíčky jsou však zpravidla zastaralé. Proto se doporučuje stáhnout a nainstalovat RabbitMQ ručně.

Poznámka :Doporučuje se, aby byly všechny ruční akce prováděny na novém serveru, aby nedošlo k narušení provozu dříve spuštěných aplikací a nedošlo k selhání konfigurace.

Nainstalujte RabbitMQ v CentOS/RHEL

Než začnete instalovat RabbitMQ, musíte nainstalovat závislosti programu, z nichž jedna je Erlang. Nejprve je však nutné aktualizovat systém a standardní aplikace; Chcete-li to provést, spusťte:

# yum -y update

Pro instalaci Erlang můžete použít:

# Add and enable relevant application repositories:
# Note: We are also enabling third party remi package repositories.
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
# Finally, download and install Erlang:
yum install -y erlang

nyní můžete nainstalovat RabbitMQ:

# Download the latest RabbitMQ package using wget:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.2/rabbitmq-server-3.2.2-1.noarch.rpm
# Add the necessary keys for verification:
rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
# Install the .RPM package using YUM:
yum install rabbitmq-server-3.2.2-1.noarch.rpm

Nainstalujte RabbitMQ na Ubuntu

Proces instalace RabbitMQ v Ubuntu/Debianu je téměř stejný jako na CentOS. Nejprve musíte aktualizovat software:

# apt-get update
# apt-get -y upgrade

Přidat klíč rabbitmq:

# curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -

Proveďte aktualizaci balíčku:

# apt-get update

Nyní můžete nainstalovat rabbitmq RabbitMQ:

$ sudo apt-get install rabbitmq-server

Správa RabbitMQ

Jak již bylo zmíněno, broker RabbitMQ se velmi snadno používá. Tato část obsahuje pokyny pro správu a konfiguraci RabbitMQ.

Povolení konzoly pro správu

RabbitMQ Management Console (RabbitMQ Management Console) je jedním z dostupných zásuvných modulů, které vám umožňují sledovat procesy na RabbitMQ serveru prostřednictvím grafického webového uživatelského rozhraní.

Pomocí této konzole můžete:

  • spravovat zasílání zpráv, fronty zpráv, připojení a uživatele;
  • Sledujte fronty zpráv, připojení a sazby za zprávy
  • Posílat a přijímat zprávy;
  • Sledování procesů Erlang a využití paměti;

A mnohem více.

Chcete-li povolit správu RabbitMQ, spusťte příkaz:

$ sudo rabbitmq-plugins enable rabbitmq_management

Nyní můžete otevřít konzolu pro správu v prohlížeči na adrese your_ip:15672.

Default rabbitmq user – guest.
Default rabbitmq password – guest

Správa RabbitMQ v CentOS/RHEL

Chcete-li povolit automatické spuštění RabbitMQ, musíte spustit:

# chkconfig rabbitmq-server on

Chcete-li spustit, zastavit, restartovat a zkontrolovat stav, použijte níže uvedené příkazy:

# start:
/sbin/service rabbitmq-server start
# stop:
/sbin/service rabbitmq-server stop
# restart:
/sbin/service rabbitmq-server restart
# status:
/sbin/service rabbitmq-server status

Správa RabbitMQ v Ubuntu/Debian

Chcete-li spustit, zastavit, restartovat a zkontrolovat stav rabbitmq na Ubuntu/Debianu, použijte níže uvedené příkazy:

# start:
service rabbitmq-server start
# stop:
service rabbitmq-server stop
# restart:
service rabbitmq-server restart
# status:
service rabbitmq-server status

Nyní je váš server rabbitmq připraven k použití!

Konfigurace RabbitMQ

RabbitMQ přichází se standardním nastavením. Obecně jsou docela spolehlivé a nevyžadují žádné úpravy.


Linux
  1. Jak nainstalovat RabbitMQ na CentOS/RHEL 7/6 a Fedora

  2. Jak nainstalovat RabbitMQ Server a Erlang na Linux

  3. DESTDIR a PREFIX značky

  1. Nainstalujte Apache a PHP na CentOS 7

  2. Monitorování a správa paměti

  3. sledovat konkrétní IP a port

  1. Jak nainstalovat a nakonfigurovat Veeam Management Agent a Veeam Backup Agent

  2. Jak nainstalovat a nakonfigurovat RabbitMQ na Debian 11

  3. Jak nainstalovat a nastavit RabbitMQ na Ubuntu 16.04