代理服务器
位于客户端和服务器端之间的软件或硬件服务器,客户端连接到代理以请求真实服务器的连接
从本质上讲,代理服务器(又名转发代理)是一种软件或硬件,可以代表客户端促进从其它服务器请求资源,从而使客户端与服务器匿名
代理用于缓存数据,过滤请求,记录请求或转换请求(通过添加/删除标头、加密/解密或压缩资源)
可以通过代表客户端发送请求,在服务器隐藏客户端的身份
作用
- 缓存
- 匿名
- 访问控制
- 访问记录
反向代理
反向代理,代表的是服务器,在客户端看来,反向代理就是一个普通的服务器
反向代理将请求转发到一个或多个处理请求的普通服务器上,返回来自普通服务器的响应,就好像它直接来自原始服务器一样,让客户端不知道原始服务器的身份
作用
- 缓存
- 匿名 代理最明显的能力就是匿名能力,反向代理也有匿名的作用,到那时反向代理和代理的匿名有所区别,反向代理的匿名是为了让客户端不知道最终的服务器的身份,可以防止客户端的DDoS攻击
3. 负载均衡
可以使用一些负载均衡算法,帮助在服务器之间均匀分配流量,从而提高可靠性和可用性
4. 灰度发布
按照特定的模式,请求到不同的服务器上,比如10%的流量到新服务
- 路由功能
反向代理还可以作为微服务架构中的网关或者路由,例如,如果客户端要查询juejin.com的推荐文章,它会将请求路由到服务1,该服务器提供推荐文章查询服务,如果客户端是发布一篇新文章,则路由到服务器2,该服务提供文章发布功能。