负载均衡
负载均衡就是流量分发, 优选软件解决方案, 成本低效果好
实现步骤
第一步: 下载安装 nginx 和 tomcat
安装方法可以看这里 http://www.cnblogs.com/cjh-notes/p/7868262.html
ps: 如果是纯测试可以下载两个不同版本的 tomcat 方便查看效果
第二步: 配置 tomcat
复制一个节点, 修改配置文件, 要修改的地方有三处, vi 全局替换即可:
- %s/8005/8006/g
- %s/8080/8081/g
- %s/8009/8010/g
接着启动节点服务器, 访问正常:
第三步: 配置 nginx
配置很简单, 在 http 模块中添加 upstream 并修改代理转发, 附上配置文件:
- upstream backserver {
- server 127.0.0.1:8080;
- server 127.0.0.1:8081;
- }
- server {
- listen 80;
- server_name 39.108.182.210;
- root /usr/share/nginx/html;
- location / {
- proxy_pass http://backserver;
- }
- }
若有兴趣做进一步了解首选官方文档: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#example
最后一步: 测试
直接输入 ip 或域名访问 (不带端口), 每刷新一次, 发现页面在 tomcat7 和 tomcat8 的首页间切换, 测试通过~
附录:
nginx 负载均衡有几种常用方式:
1 轮询
按时间顺序逐一分配, 这是默认的方式, 上面的测试结果呈现了该方式的效果
2weight
指定被访问的几率, 用于节点服务器性能不均的情况
- upstream backserver {
- server 192.168.0.1 weight=2;
- server 192.168.0.2 weight=8;
- }
3fair(第三方模块)
智能的轮询, 按响应时间来分配, 完全可以替代以上两种模式
还没用过, 日后再更新~
4iphash
请求按 ip 的 hash 结果分配, 访客每次访问的都是同一个节点, 解决 session 同步最快最简单的方法, 当然缺点也很明显
- upstream backserver {
- ip_hash;
- server 192.168.0.1;
- server 192.168.0.2;
- }
来源: https://www.cnblogs.com/cjh-notes/p/8457727.html