nginx笔记3-负载均衡算法
1.nginx测试:先从官网下载nginx 官网网址为:http://nginx.org/ 然后找到stable version的版本下载,因为这版本是最稳定的,不要去下载最新,因为不稳定,如下图:
下载解压后即可
这里还要对解压后的nginx的conf目录下的nginx.conf配置如下图:
上图中的proxy_pass http://test-service;意思是只有test-service下面的tomcat才能通过我的反向代理。
随后我们启动两个tomcat,把笔记二的工程分别放在两个Tomcat的webapps下,注意两个Tomcat的端口不能冲突。在浏览器输入http://localhost/test_war/index.jsp,如图:
上图显示,没刷新2次浏览器就将请求转发到另外一个Tomcat,这里可以看出,负载均衡的算法默认配置为轮询。
负载均衡的算法:
1.轮询:这是一个最公平的原则,即每N个请求分发给Tomcat1,下一个n个请求分发给tomcat2.再比如,一个有tomcat1为1号,tomcat2为2号,1号那就分给tomcat1,2号就分给tomcat2,3号没有,那么就重新从tomcat1开始。
2.随机算法:通过一定范围的随机数来分发请求给相应的tomcat.当请求量很大时,其实就很接近轮询了。
3.源地址哈希:通过请求来源的IP计算相应的hashCode来分发给相应的Tomcat,只要IP不发生变动请求分发的Tomcat也就固定了。
4.加权轮询:在轮询的基础上增加权重,比如,现在是tomcat1,tomcat2,此时tomcat2加权重4,那么轮询的顺序即tomcat1,tomcat2,tomcat2,tomcat2,tomcat2,tomcat2。
5.加权随机法(Weight Random):跟加权轮询类似一样的做法。比如,tomcat1,tomcat2,此时tomcat2增加权重为4,那么tomcat1,tomcat2,tomcat2,tomcat2,tomcat2,tomcat2,那么tomcat随机分发的时候分发的几率就增大。
6.最小连接数法(Least Connections):根据后端服务器当前的连接情况,动态的选取当前积压连接数最少的一台服务器来处理当前请求。
就算此时其中一个Tomcat挂了,请求服务还能正常访问。因外还有另外一个Tomcat在运行。
nginx笔记3-负载均衡算法的更多相关文章
- Nginx几种负载均衡算法及配置实例
本文装载自: https://yq.aliyun.com/articles/114683 Nginx负载均衡(工作在七层"应用层")功能主要是通过upstream模块实现,Ngin ...
- nginx的常用负载均衡算法,分别是
随机分配,hash一致性分配,最小连接数分配,主备分配 随机,轮训,一致性哈希,主备,https://blog.csdn.net/liu88010988/article/details/5154741 ...
- Nginx代理和负载均衡实验
一.构建两个tomcat容器并启动 [root@localhost bin]# ps -ef|grep tomcat root : pts/ :: /usr/bin/java -Djava.util. ...
- nginx的概念与几种负载均衡算法
Nginx的背景 Nginx和Apache一样都是一种WEB服务器.基于REST架构风格,以URI(Uniform Resources Identifier,统一资源描述符)或URL(Uniform ...
- Load Balancing with NGINX 负载均衡算法
Using nginx as HTTP load balancer Using nginx as HTTP load balancer http://nginx.org/en/docs/http/lo ...
- Nginx 负载均衡算法
Nginx 负载均衡算法 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响. upstream tomcat_server { ...
- Nginx+Tomcat7+Mencached负载均衡集群部署笔记
Nginx+Tomcat+Memcached负载均衡集群服务搭建 操作系统:CentOS6.5 本文档主要解说,怎样在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群s ...
- Nginx+PHP负载均衡集群环境中Session共享方案 - 运维笔记
在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 下面罗列几种nginx负载均衡 ...
- nginx笔记4-负载均衡带来的问题以及解决办法
接着笔记3,将笔记三的改造一下,现在分别启动两个Tomcat,在页面获取session.如图所示: tomcat2的session: tomcat1的session: 根据上图发现,每个tomcat取 ...
随机推荐
- Asp.net core 2.0.1 Razor 的使用学习笔记(一)
环境:vs2017 版本:15.5.6 一.新建项目 1.文件>新建>项目>Visual c#>.NET Core>ASP.NET Core Web应用程序(“.NET ...
- JAVA中double类型运算结果异常的解决
问题: 对两个double类型的值进行运算,有时会出现结果值异常的问题.比如: System.out.println(19.99+20); System.out.println(1.0-0.66); ...
- word中批量转换字母数字为Times New Roman
通常撰写论文时,英文与中文的格式会区分开,但是一个个修改会比较费时,可以通过替换功能实现.此处以word2003为例. 1.选择 编辑→替换 界面.在“查找内容”文本框中输入"[0-9a-z ...
- libev-4.20编译安装及简单使用
1.源码下载地址: http://www.csdn.net/tag/libev/download 2.库的编译与安装 解压文件,进入文件目录 编译的时候需要首先切换为管理员(root)账户,然后执行以 ...
- strstr()与find()
- struts2 action 页面与action参数的传递的三种方式
第一种: 初始页面: <form action="LoginAction.action" method="post"> 用户名:<input ...
- R 调用 python
上一篇说了python使用 rpy2 调用 R,这里介绍R如何调用python.R的强项在于统计方面,尤其是专业的统计分析,统计检验以及作图功能十分强大,但是在通用性方面,就远不如Python了,比如 ...
- oralce plsql案例练习
以下plsql程序用的scott用户的dept,emp表. 案例1 --查询80,81,82,87年员工入职人数 set serveroutput on declare cursor cemp is ...
- 【COOKIE 与 SESSION】
一.相关概念 cookie的出现,解决http协议无状态特性 由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下诞生. 举例: ...
- 使用babel转换es6编写的程序
配置文件 Babel的配置文件是.babelrc,存放在项目的根目录下.使用Babel的第一步,就是配置这个文件,这是必要的一步. 该文件用来设置转码规则和插件,基本格式如下. { "pre ...