1、正向代理
正向代理:代理服务器是在客户端,是说客户端必须知道原始服务器的信息。
2、反向代理
反向代理:代理服务器是在服务器端,客户端只知道代理服务器,却不知道真正的服务器。
简单的说,一般给客户端做代理的都是正向代理,给服务器做代理的就是反向代理。
举个例子:去饭店吃饭,可以点川菜、粤菜、江浙菜,饭店也分别有三个菜系的厨师 👨🍳,但是你作为顾客不用管哪个厨师给你做的菜,只用点菜即可,小二将你菜单中的菜分配给不同的厨师来具体处理,那么这个小二就是反向代理服务器。
3、负载均衡
目前支持三种策略:轮询策略,权重策略,iphash。
默认轮询按照顺序一个接着一个。
权重用于后端服务器性能不均的情况,按照不同的服务器性能将请求发送到对应的服务器上,能者多劳。
upstream test {
server localhost:8080 weight=9;
server localhost:8081 weight=1;
}
有时候我们需要一个客户只访问一个服务器,那么就需要用iphash了,iphash的每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。
upstream test {
ip_hash;
server localhost:8080;
server localhost:8081;
}