nginx - 多个上游的 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 更改为查询参数,认为哈希将基于查询参数,并且它将为两个上游解析到同一服务器,但事实并非如此。
在某些情况下,第二个上游解析到不同的服务器,我认为这是由于端口的变化。
有没有办法使两个上游的一致哈希一致?
任何帮助,将不胜感激。
解决方案
好的。我明白我在这里问的是不可行的。因此,我没有创建两个上游,而是创建了一个,并在上游服务器上设置了一个 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;
}
}
这有助于我只处理一个指向 port 的上游块8081
。
推荐阅读
- javascript - 在 React 中使用 props 和跨组件的样式化组件
- c# - NSwag:如何抑制控制器 ASP.NET Core
- swift - Vimeo 视频上传 API Swift 失败
- javascript - 使用 VS Code 调试 Sanity exec
- python - 使用 ghost 脚本注释 pdf 中的特定文本
- node.js - Firestore 数据库未与 Firebase 云功能连接
- java - 如何解决 Tomcat 中 MAT Analyzer 的 OutOfMemory 发现
- javascript - 为什么“焦点内”在 Safari 中不起作用
- sql - 在执行之前修改 SELECT 语句
- kubernetes - 为什么 LoadBalancer 服务中的 EXTERNAL-IP 总是挂起?