正反向代理
首先说一下正向代理:
A虽然知道C的地址,但不能直接访问到C,所以A通过B(告诉B我要访问C的什么东西),然后B访问C把结果取出来之后返回给A。这就和VPN的效果是一样的。这是一个间接找到结果的办法。
那么什么是反向代理呢?
A不知道C的地址,只知道B的地址,然后A访问B,告诉B他需要什么东西,然后B查询内部网络后发现A要的东西在C上,就把请求转发到C上,C处理之后把结果返回给B,然后B再给A。
反向代理有什么好处呢?
多选择性,灵活,没必须要指定固定的主机
负载均衡
那么什么是负载均衡呢?
负载均衡
这里以nginx为例
通过一个 nginx 隐藏后端服务,请求打到 nginx 上后, nginx 再将请求转发到后端服务,我们可以通过请求的内容与特性转发到不同的主机上,也可以根据每个主机所能支持的并发量合理分配,从而达到负载的均衡。
主要以下几种方法:
- 平均轮询法:依次分配
- 加权轮询法:按照服务器能力依次分配
- 加权随机法:按照服务器能力加权随机
- 最小连接数:谁业务最少,接下来的请求就分配给谁
- 源地址 hash:某ip请求第一次用了哪个服务器以后都用这个服务器 第三方负载策略
- fair:根据服务器的响应时间来分配请求,响应时间短的优先分配,即负载压力小的优先会分配。
- url_hash:按请求url的hash结果来分配请求,使每个url定向到同一个后端服务器,服务器做缓存时比较有效