LVS是什么?

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。章文嵩博士目前工作于中国国家并行与分布式处理重点实验室,主要从事集群技术、操作系统、对象存储与数据库的研究。

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

官网:http://www.linuxvirtualserver.org/

LVS的体系结构

一般来说,LVS集群采用三层结构:

1、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。

2、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。

3、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

其体系结构如图所示:

LVS的目标

  • 使用集群技术和Linux操作系统实现一个高性能、高可用的服务器

  • 很好的可伸缩性(Scalability)

  • 很好的可靠性(Reliability)

  • 很好的可管理性(Manageability)

LVS的优点

  • 开源,免费

  • 在网上能找到一些相关技术资源

  • 具有软件负载均衡的一些优点

LVS的缺点

  • 最核心的就是没有可靠的支持服务,没有人对其结果负责;

  • 功能比较简单,支持复杂应用的负载均衡能力较差,如算法较少等;

  • 开启隧道方式需重编译内核;

  • 配置复杂;

  • 主要应用于LINUX,目前没有专门用于WINDOWS的版本,不过可以通过配置,使windows成为LVS集群中的real server(win2003、win2008中)。

推荐阅读

面经:史上最全Java多线程面试题及答案

面经:史上最全阿里高级Java面试题

面经:史上最全Spring面试题

教程:最全Spring Boot全套视频教程

书籍:进阶Java架构师必看的15本书

工具:推荐一款在线创作流程图、思维导图软件

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。

最新文章

  1. [ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action
  2. shell 统计某个文件的行数命令
  3. 命令行工具解析Crash文件,dSYM文件进行符号化
  4. HDOJ 1690
  5. 修复bug的流年
  6. C#编译器对于dynamic对象到底做了什么
  7. Android(java)学习笔记194:ListView编写步骤(重点)
  8. [iOS 开发] app无法访问本地相册,且不显示在设置 -隐私 - 照片中
  9. AppStore上架规则
  10. No-args constructor for class does not exist. Register an InstanceCreator with G
  11. anaconda spyder异常如何重新启动
  12. HTTP协议的简单介绍
  13. Struts2中数据封装方式
  14. IIS+NGINX 负载web服务器
  15. go语言异常处理
  16. DevOps之基础设施-电力
  17. NO.4: 确定对象被使用前已被初始化
  18. H5图片预览、压缩、上传
  19. Java学习---Collection的学习
  20. 使用vue脚手架工具搭建vue-webpack项目

热门文章

  1. Unity 中调用Android的JAVA代码
  2. thinkphp环境要求
  3. CF601C Kleofáš and the n-thlon(期望+前缀和优化dp)
  4. slot 的简单用法
  5. 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 转载 https://www.cnblogs.com/yunfeifei/p/3993401.html
  6. TensorFlow 与cudnn版本不匹配问题
  7. 使用nginx访问本地电脑的目录文件
  8. FILE_OBJECT
  9. capserjs-prototype(中)
  10. HTML_CSS使用