单个域名的负载均衡

负载均衡不明思议;
就是把服务器的压力分发到各个服务器上面去;
从而达到减轻单个服务器的压力;

首先我这边准备了2台机器;
服务器1 : 140.143.7.81
服务器2 : 49.232.86.95:8081
负载均衡 : test.shidatuos.cn

服务器1
服务器2

注意:我们在正式环境当中,服务器1和服务器2机器上面的网页内容应该是一致的,才能做负载均衡。这里为了区分两台机,所以在网页内容中区分了下。

现在我们来搭建负载均衡(test.shidatuos.cn)这台机器;
然后我们在nginx配置文件里面写入如下代码;

upstream test {
   server  49.232.86.95:8081; //服务器2
   server  140.143.7.81:80;   //服务器1
}

server {
   listen 80;
   server_name test.shidatuos.cn;
   location / {
      proxy_pass http://test;
      proxy_connect_timeout 2s;
   }
}

第二个我们需要注意的点:这里upstream与proxy_pass的名字必须一致,这里都是test;

配置完之后,我们在重启nginx;
我们在浏览器上面访问;
第一次请求

我们在进行下一次请求;
第二次请求

是不是很神奇;
上面配置实现了一个简单的nginx反向代理负载均衡;
多个反向代理自动实现负载均衡;

实现负载均衡的方式还有很多;
课后小甜品;

// 第一种轮询的方式 轮询每一个请求按时间顺序逐一分配到不一样的后端服务器,若是后端服务器down掉,能自动剔除;
upstream test {
   server 140.143.7.81;
   server 49.232.86.95:8081;
}

// 第二种指定权重 指定轮询概率,weight和访问比率成正比,用于后端服务器性能不均的状况 , 这种情况主要还是会针对一些服务器配置不一样 , 配置好一点的权重可以设置的高一点;
upstream test {
   server 140.143.7.81 weight=10;
   server 49.232.86.95:8081 weight=10;
}

// 第三种IP绑定 ip_hash , 每一个请求按访问ip的hash结果分配,这样每一个访客固定访问一个后端服务器,能够解决各服务器session不共享的问题;
upstream test {
   ip_hash;
   server 140.143.7.81;
   server 49.232.86.95:8081;
}

//还有一些根据url啊,请求时长啊;
//这里就不一一展示啦;
//需要安装nginx三方模块才可以实现;

最后还有一种比较常见的DNS负载均衡;
域名解析

在DNS服务器中应该配置了多个A记录,如:
test.shidatuos.cn 140.143.7.81
test.shidatuos.cn 49.232.86.95
同一个域名指向2个不同的ip;
同样的也减少了服务器的压力;
perfect;

史大坨博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论