一.负载均衡,反向代理(Nginx)
负载均衡:解决用户请求到来时时如何选择处理请求的服务器
负载均衡算法:
1.轮询(服务器处理能力差不多),加权轮询(服务器处理能力不同)
2.ip_hash,hash_key,注意该方法的问题是当扩容或者缩容时,会导致大量的请求重新负载均衡到不同的服务器,可以考虑一致性哈希,这样扩容或者缩容的时候只会影响原有的一台服务器上的请求
3.最小活跃连接
目前比较常用的是轮询,毕竟容器化部署,服务器性能都差不多,在服务内存中分布式缓存业务数据的场景,可以用一致性哈希
反向代理:如vpn,就是正向代理,vpn作为客户端的代理请求服务器,反向代理就是反过来,由nginx作为服务器的代理向客户端提供服务,这样的好处是客户端不用关心服务端的情况,服务端可以自由扩容缩容
Http动态负载均衡:如果我们用静态负载均衡,每次服务器列表有变更,都需要到nginx修改,重启nginx服务器,很不方便,因此我们需要注册发现机制,具体可使用consul+openresty实现: