前言
在这篇文章中我们介绍过了LVS的技术。
但是LVS万般好,就是太脆弱。
本文会先分析LVS存在的问题,然后首先看看对于这些问题,我们根据常识有没有解决的思路。
然后引出这篇文章的主角——KeepAlived,对比着看它解决问题的思路。
最后会提出一些注意事项。
LVS的不足
单点故障影响大
LVS的脆弱在于它的地位太重要,作为整个集群的入口,所有的请求都会先经过LVS,一旦LVS挂了,整个集群都挂掉了。
而LVS的脆弱原因在于,它的“身板”太单薄了。就一台机器承受那么高的并发,神仙来了也顶不住啊。
对服务器的状态不了解
LVS的另一个问题就是,LVS不去关心真正处理业务的服务器的状态。
像一个不关心下属的上司,也不管下属的状态适不适合工作,就一直给他下发任务。
LVS也是这样,不管服务器到底能不能正常工作,都会把请求转发过去,这也造成了一部分请求可能得不到响应。
解决办法
我们自己的思路
那从我们的直觉上讲,上面这两个问题怎么解决呢?
单点故障
对于单点故障问题,我们的解决思路就只有一个,就是“一个不行,就整一堆”。
就是说,