负载均衡

akf 扩展立方体

image.png

支持的反向代理

image.png

缓存

upstream & server

image.png

加权 round-robin 负载均衡算法

image.png

对上游服务使用 keepalive

image.png

hash 负载均衡

image.png

image.png

一致性 hash

hash 的问题

使用缓存时, 所有缓存会失效

image.png

image.png

一致性 hash: 扩容前

image.png

一致性 hash: 扩容后

image.png

一致性 hash 模块

还是 upstream_hash 模块

image.png

最少连接算法

upstream_least_conn 模块

image.png

使用共享内存, 让负载均衡策略在所有 worker 间生效

upstream_zone 模块

image.png

upstream 模块间的顺序

image.png

反向代理

proxy 模块

代理 http

image.png

proxy 指令

image.png

image.png

一些修改 请求 的指令

  • proxy_method
  • proxy_http_version
  • proxy_set_header
  • proxy_pass_request_header
  • proxy_pass_request_body
  • proxy_set_body

image.png

image.png

临时文件路径

image.png

image.png

与上游服务器建立连接

image.png

tcp keepalive

image.png

http keepalive

image.png

修改 source ip

  • 应该是有多个网卡, 这里可以指定一个?

image.png

接收上游 http 响应头部

image.png

image.png

禁用上游响应头部功能

image.png

image.png

上游返回失败时的处理办法

image.png

对上游使用 ssl

双向认证

image.png

对下游使用证书

image.png

验证下游证书

image.png

对上游使用证书

image.png

验证上游证书

image.png

ssl 模块的变量

image.png

image.png

缓存

image.png

浏览器缓存

image.png

etag

image.png

image.png

if-none-match

image.png

if-modified-since

image.png

expires 指令

image.png

not_modified 过滤模块

image.png

image.png

image.png

配置 nginx 使用缓存

image.png

缓存什么样的响应

image.png

  • upstream_cache_status

缓存流程

image.png

  • x-accel-expires

set-cookie

image.png

接收上游响应

image.png

合并回源请求

image.png

使用 stale 陈旧缓存

image.png

立刻使缓存失效

image.png

uwsgi fastcgi scgi

image.png

image.png

image.png

image.png

memcached 反向代理

image.png

image.png

websocket 反向代理

image.png

协议升级

image.png

image.png

image.png

缺点

image.png

分片

image.png

image.png

http2

image.png

image.png

image.png

image.png

image.png

grpc 反向代理

image.png

image.png

stream 反向代理

7个阶段

image.png

ssl

image.png

变量

image.png

image.png

image.png

系统变量

image.png

proxy protocol

  • 利用该协议, 在 tcp 中附加真实 ip 信息

image.png

流程

image.png

realip 模块

image.png

stream 中 ssl

image.png

image.png

变量

image.png

image.png

ssl_preread 模块

image.png

  • alpn

image.png

udp 反向代理

image.png

透传 ip 地址

image.png

image.png

dsr 方案

image.png

image.png

image.png