当前位置: 主页 > JAVA语言

java动态代理详解-java 动态代理面试

发布时间:2023-02-10 07:24   浏览次数:次   作者:佚名

Nginx代理与负载均衡详解

nginx除了作为网站的虚拟主机,还可以作为代理,nginx可以在代理的基础上实现负载均衡。

1.代理:

所谓代理接受请求,转发请求,得到结果并返回。

比如我访问localhost:10010,nginx代理到百度的页面。

nginx 实现代理:

 server {
  listen 10010;
  server_name localhost;
  location / {
  proxy_pass http://www.baidu.com;
  }
  }

即使用proxy_pass配置进行代理,上述配置会将所有请求都代理到百度首页。

2、负载均衡:

所谓负载均衡,本质上可以说是接受请求,然后根据配置转发给不同的服务器。 支持来自不同服务器的请求。

要实现负载均衡,首先需要一个服务器池,因为负载均衡会对应多个服务器,所以需要将这些服务器封装成一个服务器池。

1. 创建一个新的服务器池:

 upstream backendServers {
 server 127.0.0.1:8081;
 server 127.0.0.1:11000;
 }

服务器池对应的配置是upstream,upstream和server是并行的java动态代理详解,都是http写的。 后面是服务池的名字(可以随便取名字),里面的server是对应服务器的地址。

2.将请求代理到服务器池:

和上面的代理一样,我只需要将请求转发到服务器池即可:

  server {
  listen 10020;
  server_name localhost;
  location / {
  proxy_pass http://backendServers;
  }
  }

启动nginxjava动态代理详解,访问localhost:10020,可以看到请求第一次到达127.0.0.1:8081,第二次到达127.0.0.1:11000,以此类推。 也就是说默认的负载均衡方式是round robin。

感谢阅读,希望对您有所帮助,感谢您对本站的支持!