nginx前端高可用
nginx单点问题解决方案主要有shadow-master,dns轮询等方式。其对比如下:
shadow-master方式
特点:使用两台nginx,一台作为master,在线使用,另一台作为standby,作为不备用,只有master宕机以后才接管master.一般使用keepalived/heartbeat+vip(虚拟ip)来实现。
优点:实现简单
缺点:资源利用率只有50%
适用场景:大型网站
dns轮询方式
特点:域名注册时对统一主机添加多条A记录,实现DNS轮询,DNS服务器将解析请求按照记录的顺序,随机分配到不同的IP上,实现简单的负载均衡
优点:成本较低,所以一般在小型的网站用的比较多。
缺点:
- 可靠性低
假设一个域名DNS轮询多台服务器,其中的一台服务器发生故障的情况下,那么所有的访问该服务器的请求将不会有所回应。更糟糕的是,即使立即从DNS中去掉该服务器的IP,但电信、网通等宽带接入商将DNS存放在缓存中,刷新缓存可能发生在数小时或更久以后。 - 负载分配不均匀
DNS负载均衡采用的是简单的轮询算法,不能区分服务器的差异,不能做到为性能较好的服务器多分配请求
适用场景:小型网站
转载 http://blog.csdn.net/bjo2008cn/article/details/54613287