本编博客通过一个具体的实例完整的体西现什么是负载均衡,有图有真相。
文章目录
- 1. 实例准备
- 2. 负载均衡实例展示
- 3. 测试实例效果
- 4. 负载均衡分配策略
负载均衡的理论概念我上一篇博客已经梳理的很清楚了,如果没有看的可以先看一看下面是链接
1. 实例准备
- 实例说明 :
浏览器地址栏输入地址 http://192.168.17.129/edu/a.html ,负载均衡效果,平均 8080
和 和 8081 端口中,请求的策略分配。 - 准备工作
(1 )准备两台 tomcat 服务器,一台 8080 ,一台 8081
(2 )在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建
页面 a.html
说明
因为本片博客是连载跟新说一上面的准备工作已经在这一篇什么是Nginx反向代理,让你明明白白里面写好了只需要把vod问价夹改为edu文件夹就可以了。如果你是刚刚接触Nginx最好从上面的理论概念篇开始看起。
2. 负载均衡实例展示
- 开始两台tomcat服务器,一个8080,一个8081。
启动好服务器后进入Nginx配置文件路径,进行负载均衡配置。
到这里点击回车进入vim编辑器。
添加如下代码
upstream myserver{
server 192.168.0.103:8080;
server 192.168.0.103:8081;
}
server {
listen 80;
server_name 192.168.0.103;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://myserver;
index index.html index.htm;
}
效果图如下:
完成之后退出并保存配置文件。:wq
然后进入Nginx文件夹中的sbin文件夹中在启动Nginx,
3. 测试实例效果
打开游览器输入:http://192.168.0.103/edu/a.html
后出现页面。
点击刷新按钮,你会发现地址栏没有改变但是tomcat服务器发生了改变,
实验成功。
4. 负载均衡分配策略
- 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。上面的实例就是这一中
- weight (权重)
weight 代表权,重默认为 1,权重越高被分配的客户端越多
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。如:
upstream server_pool {
server 192.168.5.21 weight = 10 ;
server 192.168.5.22 weight = 10 ;
}
- ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。可以理解为当你访问了服务器以后你初始访问的哪个服务器,以后再要访问就一直是这个服务器。
如:
upstream server_pool {
ip_hash ;
server 192.168.5.21:80 ;
server 192.168.5.22:80 ;
}
- fair (第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。如
upstream server_pool {
server 192.168.5.21:80 ;
server 192.168.5.22:80 ;
fair ;
}