Nginx Последовательное хеширование для нескольких восходящих потоков - PullRequest
0 голосов
/ 18 января 2020

Сервер Upstream - это wowza. Существует два восходящих потока

upstream wowza {
  hash $arg_streamKey consistent;
   server x.x.x.x:8087;
   server x.x.x.y:8087;
}

upstream wowza_thumbnail {
  hash $arg_streamKey consistent;
   server x.x.x.x:8086;
   server x.x.x.y:8086;
}

Первые восходящие потоки указывают на API, а вторые указывают на миниатюрный URI.

Я изменил hashKey на параметр запроса, полагая, что ha sh будет основан на параметр запроса, и он будет преобразован в один и тот же сервер для обоих исходящих потоков, но это не так.

В некоторых случаях второй восходящий поток разрешается на другой сервер, и я думаю, что это связано с изменением порта.

Есть ли способ сделать согласованное хеширование согласованным для обоих восходящих потоков?

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 19 января 2020

Хорошо. Я понял, что то, что я спрашиваю здесь, неосуществимо. Поэтому вместо создания двух исходящих я создал один и на исходном сервере настройки прокси Nginx, который proxy_pass для обоих портов на пути, указывающем на один порт.

upstream wowza {
  hash $arg_streamKey consistent;
   server x.x.x.x:8081;
   server x.x.x.y:8081;
}

Wowza 1 и Wowza 2

server {
    listen 8081;
    server_name _;

    location /thumbnail {
        proxy_pass http://localhost:8086;
    }

   location / {
        proxy_pass http://localhost:8087;
   }

}

Это помогает мне справиться только с одним вышестоящим блоком, указывающим на порт 8081.

...