服务器集群

搭建服务器集群

集群

服务器集群,是经过多个服务器共同处理负荷,实现负载均衡分担压力的一种措施.但是随之而来也有一些问题:根据用户的反向代理的调用.用户不清楚本身到底访问的是哪台服务器.那么应该如何测试负载均衡呢???java

咱们能够经过1个url请求获取访问服务器端口号便可.nginx

如今项目中application.yml文件中修改端口为8081,再经过@value动态赋值为属性,代码以下:浏览器

@RestController
public class PortController {
    /**
     * 经过Spring容器动态获取YML配置文件中的端口便可
     */
    @Value("${server.port}")
    private int port;

    @RequestMapping("/getPort")
    public String getPort(){

        return "当前访问的端口号为:"+port;
    }
}

这样当咱们访问项目的getPort映射时就会显示对应服务器的端口号,能够依据此端口号来进行测试.tomcat

搭建tomcat服务器集群

咱们将项目系统打成3个war包程序. 端口号分别为8081/8082/8083,以后经过java命令(java -jar 808X.war)启动3个cmd窗口也就是3台服务器.服务器

项目打包:
先修改端口号以后,将maven进行clean/install打包操做.app

经过java -jar 808X.war将项目发布后而后依次在浏览器进行访问测试.负载均衡

Nginx集群配置

集群配置

咱们如今须要经过manage.com的方式访问服务器时,要求经过反向代理的方式实现.要求配置nginx中集群.maven

#配置后台管理系统
    server {
        listen 80;
        server_name manage.jt.com;

        location / {
            #root 表明文件目录
            #index 表明默认的访问页面
            #proxy_pass 表明发起url请求
            proxy_pass http://jtW;
        }
    }

    #配置集群的关键字   经过集群配置tomcat服务器便可
    #默认: 1.轮询的机制
    upstream jtW {
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
        server 127.0.0.1:8083;
    }

负载均衡策略说明

  1. 轮询策略:

根据配置文件的顺序,以后依次访问服务器. 该策略也是默认的机制.测试

#默认: 1.轮询的机制
    upstream jtW {
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
        server 127.0.0.1:8083;
    }
  1. 权重策略--weight:

公司采购服务器都是有时间间隔的. 可是因为服务器新旧不一样,硬件版本不一样,致使服务器处理能力不一样.
若是上述的问题不作处理,依然采用轮询的机制,则会出现严重的负载不均衡的现象.
因此须要经过权重的方式平衡压力,weight值越大.url

#配置集群的关键字   经过集群配置tomcat服务器便可
    #默认: 1.轮询的机制  2.权重策略 
    upstream jtW {
        server 127.0.0.1:8081 weight=6;
        server 127.0.0.1:8082 weight=3;
        server 127.0.0.1:8083 weight=1;
    }
  1. IPHASH策略--ip_hash:

当某些业务须要用户特定的访问固定的服务器时,就要选用iphash机制.

#默认: 1.轮询的机制  2.权重策略  3.IPHASH
    upstream jtW {
        ip_hash;
        server 127.0.0.1:8081 weight=6;
        server 127.0.0.1:8082 weight=3;
        server 127.0.0.1:8083 weight=1;
    }

能够了解一下iphash是如何选择服务器的:
image
会经过ip地址的hash值对服务器数量进行取模,而后只访问取模为零的服务器,只有该服务器宕机后才会再访问其余的.

负载均衡补充

  1. down属性:

若是tomcat服务器发生了宕机的现象,则经过配置文件标识down的属性,则nginx将不会再次访问故障机.
server 127.0.0.1:8081 down;

  1. backup属性:

一般状况下 都会部署一些备用机防止因为主机宕机,剩余的机器不能实现高负责从而致使整个服务宕机的问题.
若是设置了备用机,则正常状况下用户不会访问.可是当主机宕机或者主机遇忙时才会访问.
server 127.0.0.1:8083 backup;

  1. tomcat高可用配置:

1).max_fails=1 配置nginx访问服务器的最大的失败次数.
2).fail_timeout=60s; 理解为一个时间周期. 若是发现服务器宕机,则在60秒内不会再次访问故障机.
server 127.0.0.1:8081 max_fails=1 fail_timeout=60s;

相关文章
相关标签/搜索