上游服务器是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,第二个指向Thumbnail URI。
我将hashKey更改为查询参数,认为哈希将基于查询参数,并且它将针对两个上游解析为同一服务器,但事实并非如此。
在某些情况下,第二个上游解析到另一台服务器,我认为这是由于端口更改所致。
是否有办法使两个上游的一致性哈希保持一致?
任何帮助将不胜感激。
好。我了解我在这里要问的是不可行的。因此,我没有创建两个上游,而是创建了一个,并在上游服务器上设置了一个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
的上游块。