运维部分

Nginx 与负载均衡

  • 反向代理

    1. 将用户请求转发给内部服务器,保护内网拓扑结构

                     / Django-1
      user -> proxy ── Django-2
                     \ Django-3
      
    2. 可以解析用户请求,代理静态文件

    3. 限流

    4. 白名单,黑名单

  • 负载均衡

    • 轮询: round robin (默认)
    • 权重: weight
    • IP哈希: ip_hash
    • 最小连接数: least_conn
  • 随机

  • 其他负载均衡

    • F5: 硬件负载均衡设备, 性能最好, 价格昂贵
    • LVS: 工作在 4层 的专业负载均衡软件, 只有 3 种负载均衡方式, 配置简单
    • HAProxy: 工作在 4层 到 7层 的专业负载均衡软件, 支持的负载均衡算法丰富
    • 性能比较: F5 > LVS > HAProxy > Nginx
  • LVS 的优势

    • 常规负载均衡

      进出都要经过负载均衡服务器. 响应报文较大, 面对大量请求时负载均衡节点本身可能会成为瓶颈

      发送请求: User -> LoadBalancer -> Server
      接收响应: User <- LoadBalancer <- Server
      
    • LVS DR 模式

      LoadBalancer 与 Server 同在一个网段, 共享同一个公网 IP, 响应报文可以由 Server 直达 User

      发送请求: User -> LoadBalancer -> Server
      接收响应: User <───────────────── Server
      
  • 可以不使用 Nginx, 直接用 gunicorn 吗?

    • Nginx 相对于 Gunicorn 来说更安全,更稳定
    • Nginx 可以用作负载均衡.
  • 处理静态文件相关配置

    location /static/ {
        root   /project/bbs/;
        expires 30d;
        access_log off;
    }
    
    location /media/ {
        root   /project/bbs/;
        expires 30d;
        access_log off;
    }
    

服务器架构

  1. 架构研究的 5 个方面
    • 高性能
    • 高可用
    • 可伸缩性
    • 可扩展性
    • 安全性
  2. 简单、实用的服务器架构图
    • 分层结构: 功能模块解耦合
    • 每层多台机器: 有效避免单点故障
    • 每层均可扩容: 能通过简单的方式提升服务器的性能、可用性、并发能力
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值