• 代理


    正向代理:

    举个例子:

    我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

    客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口

    正向代理的用途:

    • 访问原来无法访问的资源,如google
    • 可以做缓存,加速访问资源
    • 对客户端访问授权,上网进行认证
    • 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

    反向代理:

    客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。

    反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

    • 正向代理,代理的是用户。
    • 反向代理,代理的是服务器

    什么是负载均衡

    当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。

    我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。

    负载均衡是用反向代理的原理实现的。

    负载均衡 的几种常用方式:

    http://blog.csdn.net/qq_28602957/article/details/61615876

    http://blog.csdn.net/Daybreak1209/article/details/51554045

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

    负载均衡的几种常用方式:

    1.轮询

    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

    2.weight

    指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的
    情况。

    3.ip_hash方式

    4.fair

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    5.url_hash

  • 相关阅读:
    都不敢上CSDN了
    什么是函数(function)?
    今天3/8妇女节
    一件有意思的事情:关于std::string和std::auto_ptr
    转两篇Link相关的文章
    DevIL Downloads
    状态模式(State Pattern)
    访问者模式(Visitor Pattern)
    羊皮卷的故事第二章
    备忘录模式(Memento Pattern)
  • 原文地址:https://www.cnblogs.com/linqiuhua/p/8609358.html
Copyright © 2020-2023  润新知