正向代理与反向代理/客户端负载与服务端负载

1.正向代理

       正向代理比如VPN,安装在客户端的软件,任何可以被该VPN访问的网址就都可以被客户端用户访问,正向代理只对客户端负责。

       特点:正向代理的代理对象是用户,服务器不知道自己的服务提供给了哪个客户端,但客户端知道自己要访问的服务器。

       举例:正向代理就好像粉丝找明星要签名,但粉丝见不到明星就只能委托经纪人去帮自己要签名。在这个过程中,经纪人就相当于正向代理的角色,明星不知道自己的签名到底给了哪个粉丝,但粉丝知道是哪个明星给了自己签名。

2.反向代理

       反向代理作用在服务端,假设该反向代理代理了两个服务,那么当客户端访问这两个服务的时候该反向代理才会工作,也就是说这里的反向代理只对被它代理的两个服务负责。

       特点:反向代理的代理对象为服务器,客户端不知道到底是那一台服务器为自己提供了服务,但服务器知道哪个客户端要访问自己。

       举例:反向代理就像租房中介,由于房源被中介垄断我们无法直接联系到房东,想租房就得找中介。在这个过程中,中介就相当于反向代理的角色,租客不知道中介给自己找了哪些房东,但房东知道哪个租客有租房的需求。

       PS:正向代理与反向代理一般是同时使用的。

                

3.服务端负载均衡

       服务端的负载均衡是一个网络请求先经过一个代理服务器(比如nginx),然后代理服务器通过负载算法(轮询,随机,权重等等)反向代理用户需要访问的服务,来完成负载均衡。

       特点:配置写在服务端,比如nginx.conf,同时应用在服务端

       图示:

扫描二维码关注公众号,回复: 12653633 查看本文章

              

4.客户端负载均衡

      如果把上图中的Server1换成springcloud的Ribbnon组件,请求先经Ribbon转发到不同服务的话,就变成了客户端负载均衡。

      特点:配置在客户端(@loadBlance注解写在程序里)

      图示:

               

      完整图示:

                  

猜你喜欢

转载自blog.csdn.net/qq_36756682/article/details/110189501
今日推荐