amqp-client-proxy-manager
TypeScript icon, indicating that this package has built-in type declarations

1.0.11 • Public • Published

RabbitMQ proxy manager

Данный модуль реализует request/response pattern

Много клиентов шлют параллельные запросы менеджеру.

Для избежания блокировок запросы помещаются в очередь RabbitMQ и в последующем обрабатываются по одному для избежания блокировок.

Каждый клиент на своей стороне создает очередь с уникальным именем в которую обработчик помещает ответы.

На клиенте очередь создается с параметром autodelete

Для проверки работоспособности Вы можете поднять образ RQM на локальной машине

docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management

Запускается образ RMQ со встроенным web интерфейсом, для доступа используйте ссылку (guest/guest credential)

http://localhost:15672

Настройки

В директории config - настройки имен очередей

RMQ hots описан в .env файле process.env.RMQ_HOST

соединение создается одно на клиента src/rmq-request-responce/lib/rmq-connection.ts

Запуск локально

Для локального запускак предназначен файл docker-compose.yml

Запись

    env_file:
    - .env_server_local

Заставляет dcoker compose разместить в process.env переменные заданные в файле

docker compose up -d
docker compose down

Полезные команды

Показать текущие переменные node --print 'process.env'

docker build -t amqp-server .

docker run --env-file ./env.list ubuntu bash

/amqp-client-proxy-manager/

    Package Sidebar

    Install

    npm i amqp-client-proxy-manager

    Weekly Downloads

    0

    Version

    1.0.11

    License

    MIT

    Unpacked Size

    52.3 kB

    Total Files

    4

    Last publish

    Collaborators

    • ggvlasov