1. 简单介绍
    1. 随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障的出现。应用集群是将同一应用部署到多台机器上,组成应用集群接收负载均衡器分发请求,进行业务处理返回响应数据。负载均衡器可以用户请求根据对应的负载均衡算法分发应用集群中的一台服务器进行处理
  2. 我们可以通过nginx作为负载均衡器实现负载均衡功能
    1. 首先我们需要准备Linux系统,并启动nginx服务,并在服务器启动两个java webspring boot项目,其中一个web服务端口是8080,另一个web服务端口是8081,并将服务正常启动
    2. nginx配置负载均衡
      1. 打开nginx配置文件nginx.conf并增加如下配置信息
        1.     # upstream指令可以定义一组服务器
              upstream study-balance-server {	
                  server 192.168.xxx.xxx:8080;
                  server 192.168.xxx.xxx:8081;
              }
          
              server {
          
                  location /study-balance/ {
                      # 反向代理配置,将请求转发指定的服务
                      proxy_pass http://study-balance-server;
                  }
          
              }
      2. 重新加载nginx配置文件
        1. sudo ./nginx -t
          
          
          sudo ./nginx -s reload
      3. 浏览器测试访问
        1. 访问查看web项目日志信息或者其他标记可以区分当前项目访问的是那台端口的服务:http://服务器ip地址/study-balance/
        2. 示例中通过访问时日志的打印时间顺序可以知道负载均衡已经正常启动
    3. 负载均衡策略
      1. nginx默认策略是轮询,详细信息如下
      2. 名称 说明 特点
        轮询 默认方式
        weight 权重方式 根据权重分发请求,权重大的分配到请求的概率
        ip_hash 依据ip分配方式 根据客户端请求的IP地址计算hash值, 根据hash值来分发请求, 同一个IP发起的请求, 会发转发到同一个服务器
        least_conn 依据最少连接方式 哪个服务器当前处理连接少, 请求优先转发到这台服务器
        url_hash 依据url分配方式 根据客户端请求urlhash值,来分发请求, 同一个url请求, 会发转发到同一个服务器
        fair 依据响应时间方式 优先把请求分发处理请求时间短的服务器
      3. 示例权重配置
        1. # upstream指令可以定义一组服务器
          upstream study-balance-server {	
              server 192.168.xxx.xxx:8080 weight=10;
              server 192.168.xxx.xxx:8081 weight=5;
          }
        2. 配置的weight权重是相对的,在上述的配置中,效果就是在大数据量的请求下,最终8080接收的请求数是8081的两倍
      4. 示例依据ip分配方式
        1.     # upstream指令可以定义一组服务器
              upstream study-balance-server {	
                  ip_hash;
                  server 192.168.xxx.xxx:8080;
                  server 192.168.xxx.xxx:8081;
              }
        2. 指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题

原文地址:https://blog.csdn.net/weixin_41926152/article/details/134627623

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_21736.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注