集群是为了解决单节点无法服务高并发的情况,在集群中nginx是如何分配将来自客户端的请求 转发给服务器的
负载均衡可以提高网站的吞吐量(接受和响应),减轻单台服务器的压力
负载均衡提供了三种策略:轮询,权重,ip绑定
打开nginx的nginx.conf配置文件:
在回顾一下执行流程:当一个浏览器的请求 例如:发送www.jiahou.com 请求 以后,会先在本地查找hosts文件,对域名进行解析,然后 找到解析出来的ip地址,nginx http服务器拦截所有的请求,监听80端口 server_name 和域名比较,相同 则 跳转proxy_pass的路径
如果是在集群的情况下有两台服务器:
轮询:客户端发送一条请求,第一条请求随机给A 或者B ,例如 第一条请求转发给了A 服务器处理,下一条请求 则会转发给B ,如果在有一条请求来 则又发给A 最后的结果则是ABABAB交替处理请求
打开nginx.conf配置文件 新增配置文件 默认情况下 nginx将会在 该两个服务器来回切换执行
权重配置:
upstream backserver{} 用在nginx 里面是配置 集群的服务器 如上图 weight 配置的该服务器的权重,上面 配置的是2:1 并不是 请求8080的服务器有2次 请求8081的有1次 而是比例:2:1 如果配置 是5:3并不是 一个请求5次一个请求3次
ip绑定:
直接在配置文件里面添加ip_hash 则可以实现ip绑定,ip绑定 和什么浏览器没有关系,是和本机电脑ip有关系,A B 两个客户端,如果 nginx配置ip绑定以后 A 客户端如果请求的 是8080 服务器,则以后来自客户端的A 的请求都将交给8080服务器处理,如果是IP 绑定,在高并发的情况下,也没有什么作用,但是 ip绑定可以实现 会话共享