nginx中的upstream和downstream

到达nginx的流量,客户端称为downstream,服务端称为upstream。

downstream和upstream主要是定义数据的流向,如 A -> B表示数据从A流到B,则A是upstream,B是downstream。

对于http协议而言,客户端请求服务器获取资源,因此数据流向从server -> client。所以server端是upstream,client端是downstream。

当然request的数据流向是从client -> server,但最终目的是从server端获取资源,因此以response的数据流向为准。

### Upstream 概念及其在 IT 领域中的应用 #### 定义与基本概念 Upstream 是指数据流、请求或其他形式的信息流动的方向之一,在此方向上,信息是从客户端向服务器端传输。相反的方向则被称为下游 (downstream)[^1]。 #### 版本控制系统中的上游仓库 在一个版本控制系统(如 Git)环境中,“upstream”通常指的是原始项目或主要开发分支所在的远程仓库。当开发者创建了一个派生自某个项目的本地副本并希望将其更改同步回原项目时,就会涉及到 upstream 的概念。通过设置 upstream 关联,可以方便地拉取最新的改动或将自己的贡献推送到源库中去[^2]。 #### Web 开发场景下的代理服务器角色 对于 web 应用程序而言,upstream 可能是指位于反向代理之后的实际处理 HTTP 请求的应用服务实例集合。Nginx 或 HAProxy 这样的负载均衡器会作为前端接收来自用户的访问流量,并将它们分发给后端的一个或多個 upstream server 来完成具体的业务逻辑运算服务响应生成工作[^3]。 ```nginx http { upstream backend_servers { server 192.168.0.1; server 192.168.0.2; } server { location / { proxy_pass http://backend_servers; } } } ``` #### 数据管道架构里的输入源头位置 另外,在大数据处理框架里,upstream 表达的是 ETL 流程中负责提供初始未加工资料的那个环节;而在消息队列系统中,则表示生产者发送消息到中间件之前的状态或是事件发生的最初地点[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值