烟波刀客
作者烟波刀客·2023-07-03 21:19
运维·建筑

负载均衡-haproxy

字数 1726阅读 501评论 0赞 1

负载均衡

什么是负载均衡?

将服务压力尽可能平摊到不同服务器的过程叫负载均衡

负载均衡的访问流程?

客户端将请求发送至控制负载均衡的节点,此节点根据调度算法在后端的服务池选择符合规则的服务器并将客户端请求转发至选定的服务器。

如何实现负载均衡?

  1. 声明调度算法,选择服务节点。
  2. 声明转发规则,指定代理节点转发请求到选定服务节点的方式(7/4)。

    四层负载和七层负载的区别?

    1. 四层负载。根据ip和port进行转发,三次握手发生在客户端和后端真实的服务器。负载节点拆包至传输层。
    2. 七层负载。根据url进行转发,客户端到负载节点三次握手,负载节点到后端真实服务器三次握手。负载节点拆包至应用层。

    实现负载均衡的软件有哪些?

  3. 四层负载均衡:lvs(ipvsadm 或keepalived操纵),haproxy
  4. 七层负载均衡:haproxy , nginx

    haproxy(1.5.18)详解

    haproxy的功能:

  5. 负载均衡。7层http,四层的tcp
  6. 会话一致性。七层的时候考虑。
  7. 负载均衡算法。
  8. 健康检查。支持tcp和http两种方式。
  9. SSL 解析。
  10. 状态监控。

    haproxy 配置文件详解

    [root@master ~]# cat /etc/haproxy/haproxy.cfg
    # 全局配置
    global
     log 127.0.0.1 local2 info     # 日志位置,以及级别,一般不用info,用warning,alert
     pidfile /run/haproxy.pid      # pid文件位置
     maxconn 4000                  # 最大连接数
     user haproxy                    # 用户
     group haproxy
     daemon 
     nbproc 1  # 工作进程
    # 默认配置
    defaults
     mode http   # 负载模式
     log global
     retries 3     # 对服务池中服务器状态的检查三次
    
     option redispatch   # 服务不可用后,重定向到其他健康服务器
     maxconn 4000
     contimeout 5000 # haproxy 与后端服务器建立连接的超时时间
     clitimeout 50000 # 客户端与haproxy  连接空闲时间
     srvtimeout 50000 # haproxy  与 真实服务器的连接空闲时间
    
     option abortonclose  # 服务器负载很高,自动杀死当前队列处理的比较久的连接
    
     
     stats uri /admin  # haproxy  状态信息
     stats realm Private lands  # 提示身份信息
     stats auth admin:password  # 隐藏版本号
     stats hide-version          # 隐藏版本号
    
    frontend http-in  # 流入部分
     bind 0.0.0.0:80
     mode http
     log global  
     
     option httpclose  # 用户连接过久,则关闭
    
     acl html url_reg -i \\.html$
     use_backend html-server if html
     
     default_backend html-server  # 默认
    
    backend html-server
     mode http
     balance roundrobin  #  rr 轮询算法
     
     option httpchk GET /index.html
    
     cookie SERVERID insert indirect nocache
    
     server -A real-server1:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
     server -B real-server2:80 weight 2 cookie 4 check inter 2000 rise 2 fall 5
    

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

  • zabbix监控
    评论 0 · 赞 2
  • Docker网络
    评论 0 · 赞 1
  • 高可用
    评论 0 · 赞 0
  • k8s基本概念
    评论 0 · 赞 0
  • 相关文章

    相关问题

    相关资料

    X社区推广