nginx TCP 和 UDP 负载平衡

nginx TCP 和 UDP 负载平衡

  • 自 version 1.9.0 以来新增了 ngx_stream_core_module 模块,使 nginx 支持四层负载均衡。这个模块不仅能实现 TCP 和 UDP 转发,还能支持负载均衡 upstream 配置。默认编译的时候该模块并未编译进去,需要编译的时候添加 --with-stream 参数使其支持 stream 代理。
  • 由于协议的不同,UDP 转发仅会将请求包转发至目标,UDP 回复包将由目标机器直接发出给你的请求端。这个回复包是不会经过转发端的,所以在你转发目标端 IP 已经被不明设备给屏蔽无法连接的话,这个 UDP 回复包你还是收不到,这并不是 Nginx 的问题。
  • 请注意,stream 配置不能放到 http 内,因为stream是通过tcp层转发,而不是 http 转发

使用Nginx实现TCP反向代理

使用Nginx实现TCP反向代理

  • 下图是 nginx upstream keepalive 长连接的实现原理。首先每个进程需要一个 connection pool,里面都是长连接,多进程之间是不需要共享这个连接池的。 一旦与后端服务器建立连接,则在当前请求连接结束之后不会立即关闭连接,而是把用完的连接保存在一个 keepalive connection pool 里面,以后每次需要建立向后连接的时候,只需要从这个连接池里面找。

  • 如果找到合适的连接的话,就可以直接来用这个连接,不需要重新创建 socket 或者发起 conne

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值