lvs基础知识

lvs:linux virtual server(linux虚拟服务器)

lvs集群三层架构;
负载调度器(load balancer):一组具有相同IP(虚ip)的前端机集群(客户端认为服务都是这个虚ip提供的),它负责将请求分发到服务器池中的真实服务器;
服务器池(server pool):一组真正执行客户端请求的服务器集群,典型应用场景为一组web-server,它们提供的是相同的服务;
共享存储(shared storage):共享的后端数据存储,它是服务器池中服务器“相同服务”的保证,典型应用场景为一组mysql;

负载调度器:
服务统一入口,采用IP负载均衡、基于内容请求分发技术。
当请求到达调度器时,它会根据服务器池中各服务器的负载,将请求转发,并记录调度;
当这个请求的其他报文到达调度器时,会发给之前记录的同一个服务器;
当某个后端服务挂掉时,请求不会再被转发至此台服务器;
后端服务过载时,能动态加入后端节点,以满足扩展性需求;
上述操作都是在linux内核中完成的,开销很小。

服务器池:
没啥多说的,真正逻辑处理的部分,但如何保证,池中的服务器提供的是相同的服务呢;

共享存储:
只有当服务器池访问相同的数据,才能够提供真正相同的服务;
共享存储通常是数据库、网络文件系统、分布式文件系统等;

系统瓶颈:
各个服务器池中的server,访问共享存储中同一资源时,有读写冲突,可能出现不一致的状态;
为了保证数据的一致性,往往需要读写锁或者其他互斥方式进行资源访问,这往往成为系统瓶颈;
解决方案:
分布式锁;

评论关闭。