RabbitMQ v kontejneru

Dnes si ukážeme jak jednoduše rozject RabbitMQ v dokcer kontejneru. Pro orchestraci použijeme docker compose.

Založíme soubor docker-compose.yml :

version: '3.4'

services:

  rabbitmq:
    image: rabbitmq:3-management
    hostname: "rabbitmq"
    labels:
      NAME: "rabbitmq"
    ports:
      - "4369:4369"
      - "5671:5671"
      - "5672:5672"
      - "25672:25672"
      - "15671:15671"
      - "15672:15672"
    environment:
      RABBITMQ_DEFAULT_USER: "username"
      RABBITMQ_DEFAULT_PASS: "password"

Spustíme příkazem: docker-compose up nebo na pozadí příkazem: docker-compose up -d

RabbitMQ je message broker, který používá protokol AMQP (Advanced Message Queuing Protocol) k usnadnění komunikace mezi různými aplikacemi. RabbitMQ běží na určitých síťových portech, které jsou důležité pro jeho funkčnost a komunikaci. Zde jsou některé z portů, které RabbitMQ používá:

4369: Tento port je používán pro Erlang Port Mapper Daemon (EPMD). EPMD je procesový démon, který umožňuje komunikaci mezi různými uzly v distribuovaném Erlangu, což je jazyk, na kterém je postaven RabbitMQ.

5671: Tento port je také asociován s AMQP, ale používá zabezpečený protokol SSL/TLS pro šifrovanou komunikaci. Je vhodné použít tento port pro bezpečnou komunikaci přes AMQP.

5672: Toto je výchozí port pro běžné spojení AMQP v RabbitMQ. Pokud není specifikován jiný port, klienti budou komunikovat přes tento port.

25672: Tento port je určen pro meziserverovou komunikaci mezi uzly v clusteru RabbitMQ, pokud je váš RabbitMQ nasazen jako cluster.

15671: Stejně jako port 5671, tento port umožňuje zabezpečenou komunikaci pomocí SSL/TLS, ale je určen pro webové rozhraní RabbitMQ Management Plugin.

15672: Toto je port pro RabbitMQ Management Plugin, což je webové rozhraní pro správu RabbitMQ. Pomocí tohoto rozhraní můžete monitorovat a spravovat své RabbitMQ instance.

Do webového rozhraní tedy můžeme nahlédnout přes URL http://localhost:15672

Defaultní uživatelské jméno: guest a heslo: guest
My jsme si změnili uživatelské jméno: user a heslo: password