Управление потоком событий с помощью nginx

Для управления потоком событий средствами nginx необходимо создать и настроить nginx-сервер, который будет принимать события от источника событий, а затем перенаправлять их на коллекторы.

Чтобы включить управление потоками событий на сервере источника событий с помощью nginx:

  1. Создайте два или более одинаковых коллекторов, с помощью которых вы хотите обеспечить бесперебойный прием событий.
  2. Установите nginx на сервере, предназначенном для управления потоком событий.
    • Команда для установки в Oracle Linux 8.6:

      $sudo dnf install nginx

    • Команда для установки в Ubuntu 20.4:

      $sudo apt-get install nginx

      При установке из sources, необходимо собрать с параметром -with-stream:
      $sudo ./configure -with-stream -without-http_rewrite_module -without-http_gzip_module

  3. На nginx-сервере в конфигурационный файл nginx.conf добавьте модуль stream с правилами перенаправления потока событий между коллекторами.

    Пример модуля stream

    При большом количестве активных сервисов и пользователей может понадобиться увеличить лимит открытых файлов в параметрах nginx.conf. Например:

    worker_rlimit_nofile 1000000;

    events {

    worker_connections 20000;

    }

    # worker_rlimit_nofile – ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения ограничения без перезапуска главного процесса.

    # worker_connections – максимальное число соединений, которые одновременно может открыть рабочий процесс.

  4. Перезапустите nginx, выполнив команду:

    systemctl restart nginx

  5. На сервере источника событий перенаправьте события на nginx-сервер.

Управление потоками событий на сервере источника событий включено.

Для тонкой настройки балансировки может потребоваться nginx Plus, однако некоторые методы балансировки, например Round Robin и Least Connections, доступны в базовой версии ngnix.

Подробнее о настройке nginx см. в документации nginx.

В начало