负载均衡是什么
负载均衡:让用户的请求均匀的分布在每台服务器上。
每台服务器上搭载web服务,将dns域名,指向这台nginx服务器的IP
使用proxy_pass配合upstream来实现简单的负载均衡
upstream默认采用的round-robin分配方案,也就是将请求一次发送给每一个服务
还可以使用least-connected方案-将请求分配给当前所有服务器中请求最少的机器。
ip hash模式-确保一个ip一直在同一台机器
用户请求都要经过这台nginx服务器,如果这台nginx服务出了故障,问题就大了。
解决办法:在nginx层面也增加一台nginx服务器,不同用户查询域名IP的时候,
返回不同的nginx服务器IP,部分DNS服务商还支持health check,当发现有节点失败后,
则不会返回对应的IP给客户,所有的请求都只会进入健康的节点,有了冗余节点后,单点的风险就降低了。
互联网三高架构
高性能计算:用多台服务器处理同一个任务
高可用:准备被用服务器,主服务器挂掉以后,备用服务器立马跟上做任务。
DNS域名系统
如百度有很多台服务器,我们并记不住IP地址,但是可以记住baidu.com这个域名。
CDN加速器
CDN是一个加速器
CDN加速,在全国各地部署很多节点, 来缓存静态资源,图片,视频,音频等。
squid,在05-10年,被用来做CDN加速。
Varnish缓存加速器
高负载均衡架构
nginx的负载均衡可以做到10W并发。
LVS单台服务器,可以达到百万并发。
高可用keepalived
主服务器装的是nginx,备用服务器装的也是nginx,用户一般不会访问备用服务器,只有当主服务器出现问题时,备用服务器就接管了用户的访问,毫秒级切换主备服务器。
主备模式切换。高可用用的非常广泛。