业务增长到一定量级,单纯的增加增加服务器的配置已经不能满足业务需求,这个时候集群模式就是出现了。在集群模式中,负载均衡是回避不了的。负载均衡就是将请求“均匀”的分摊给不同的服务器。
负载均衡
浏览器(客户端)负载均衡
通过DNS来实现负载均衡。DNS是域名解析服务器,可以将域名转换成IP。服务器可以将多个IP注册到DNS,这样DNS在解析的时候,可以以轮询的方式返回这些IP中的一个,从而实现负载均衡。
这种实现方式的特点是,简单。另外,这种方式还能够根据客户端的地理位置返回离客户端较近的服务器的IP,加快与客户端的交互。这种方式的弊端也非常明显:1.小公司没有能力构建自己的DNS;2.DNS无法感知后端服务器的负载,只能实现简单的轮询处理;3.DNS的更新较慢。我们知道,域名会被缓存在本地和各级DNS中。当域名对应的IP更新的时候,客户端要等到缓存过期才能使用新的IP。
LVS+nginx
LVS是四层负载均衡器,工作在内核态。nginx是七层负载均衡器,当然现在nginx也推出了四层负载均衡器,但是是收费功能。什么是四层负载均衡器和七层负载均衡器呢?四层和七层是指负载均衡器工作在网络协议的哪个层次。四层是IP层(网络协议层),在这一层面的负载均衡器可以感知IP协议,也就是能够知道客户端的IP,可以根据客户端的IP选择将请求分发到哪个服务器上。请求的分发是通过修改目的IP的方式实现的,即将目的IP修改成后端服务器的IP。七层负载均衡