Согласованное хеширование Nginx для нескольких восходящих потоков

Восходящий сервер - это 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 на параметр запроса, полагая, что хеш будет основан на параметре запроса и будет разрешен на один и тот же сервер для обоих восходящих потоков, но это не так.

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

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

Любая помощь будет оценена.

1 ответ

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

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.

Другие вопросы по тегам