Nginx 实战核心知识点整理(下)

发布时间:2024-02-03 14:00

Nginx 作为一款高性能的代理软件,在工作中常被用做负载均衡器、正向反向代理。最近在看了一个关于 Nginx 的视频,老师讲得很不错。笔者也记录了一下整套课程的一些重点和自己的理解。

上篇:https://segmentfault.com/a/11...

上篇主要跟大家讲述了一下如果使用 Nginx,也是为下篇进行铺垫。接下来的内容能让读者手上的 Nginx 发挥最大作用。

思维导图

那我们开始吧!

sticky 维持状态

上篇介绍了几种调度算法,我们一起回顾一下里面的 ip_hash 和 url_hash

  • ip_hash:对于紧急扩容场景,使用这种策略能够快速引入新节点,但如果后端服务突然宕机会造成状态丢失,可以使用 Global Session 的方式解决(引入 Spring Session + Redis)。但后端服务数量太多也会对外置的 Redis 造成压力。

    upstream  flask  {
        ip_hash;
        server  172.20.0.11:80;
        server  172.20.0.12:80;
    }
    比如 ERP 系统使用 URL 哈希比较合适,因为对于一个企业,多个用户发出的请求到达路由器后都会转换成同一个 IP,容易造成流量倾斜。考试系统也是相同道理。
  • url_hash:对于不支持 Cookies 的场景,一般会把 JSESSION_ID 放到 URL 中,这时候可以使用 url_hash 进行调度

    • $cookie_jsessioni 基于 SSESION ID 的 hash
    • $request_uri; 基于 url 的 hash

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号