您的位置:首页 > 运维架构 > 反向代理

Nginx反向代理和负载均衡

2016-08-25 20:39 106 查看
什么是反向代理和负载均衡

反向代理:先来说说什么是正向代理。A通过服务器B访问服务器C。正向代理的一个明确的特点就是我们知道要访问哪个服务器。但是如果服务器C是一个集群,由服务器B决定到底访问集群C上的哪台机器,则服务器B就成了一个反向代理服务器了。

负载均衡:对于一个集群,怎么样让集群中的每台机器都均衡的处理请求,这个也是反向代理服务器做的事。一般是让集群中压力相对较小的服务器处理新的请求。

Nginx覆盖均衡的实现

Nginx通过反向代理实现负载均衡

使用Nginx服务器实现负载均衡的时候,用户首先访问到Nginx服务器,然后Nginx服务器从服务器集群表中选择压力较小的服务器,然后将访问引向该服务器。

如果集群中的某个服务器崩溃,那么从待选服务器列表中删除该服务器,Ngnix就肯定不会讲请求引入该服务器了。

user nobody;

# 开启的Nginx进程数 一般设置为1就够了 现在为了测试负载均衡才设置4个
worker_process 4;

# 设置并发数
events{
# 最大并发数
worker_connections 1024;
}

# http请求配置
http{

# 设置服务器列表,也就是待负载均衡的服务器列表  myproject 是服务器列表名
upstream myproject{

    # 百度

       server 111.13.100.91:80;

# 京东


  server 211.151.106.27:80;


# 淘宝


  server 120.209.137.218:80;

}

# 监听的端口与目录
server{
listen 8080;
# 做负载均衡的目录
location / {
proxy_pass http://myproject; }
}
}


在浏览器上输入 http://127.0.0.1:8080 就能够根据实际负载情况,访问百度、京东、淘宝了

疑问:集群中如何共享session?或者说一个用户一次就是只访问一台服务器,除非退出,否则所有请求都在一个台服务器上

HTTP Upstream模块

什么是HTTP Upstream模块:是Nginx服务器中一个重要模块,实现在轮训和客户端ip之间实现后端的负载均衡,常用命令:ip_hash、server、upstream

ip_hash:如果用户A的请求已经给服务器B处理了,那么接下来他的所有请求也都会给服务器B

其他负载均衡的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: