虚拟服务器技术,是国人开发的软件
LVS性能极其优秀,主要功能是调度功能,可以把远程客户端发来大量的请求进行调度,调度性能极高,可以达到400W并发(apache最多才1万)
调度功能加强,但是实际功能比较差,所以需要借助其他软件来弥补功能缺陷
向上扩展,简单地说,就是买好机器,单机总是有极限,好的方法就是增加设备,调度分配问题
vip vitural ip 虚拟ip,不是真正提高服务的,rip real server ip
需要很多台主机对外提高服务
多台主机对外提高一个服务,就叫做集群cluster,但是在客户端眼里,意味就一个vip主机提高服务,根据集群来讲,可以根据特性来进行分类,
LB负载均衡,把客户请求均匀(或者按照一定比例),分配在不同主机上,每台主机只提供一部分服务,性能就提高了
(mysql的主从只是实现了一个均衡负载(主服务器宕机,从服务器转换成主,需要手工),并没有实现高可用性,MHA才实现高可用性,当主服务器宕机了自动把从服务器变成主,快速地让一个 主服务器继续上线,避免单点失败的问题)
HA高可用,高可用的功能,并不是为了性能的提升,而是实现高可用性
HPC高性能,把很多服务器一起来计算一个特别量大的内容,比如天气预报
LVS是负载均衡集群,调度器出事 了,也就全完蛋了
调度器完蛋了,下面的提供服务的机器就都完蛋了,就需要在搭建一个调度器实现一个高可用的集群方案
云盘的数据应该都是分布的,1G文件不是把数据放在单机上,而是分成块放在很多机器上
fastdfs分布式文件系统,就是把数据分布在不同的主机上
每个文件在不同服务器上都放三份
大众点评,就是8个服务器做fastdfs,宕机了两台,在搭建一个集群花了一个月
分布式计算,把复杂的计算分成一个小的模块,分不到不同的主机上,每个主机负担一部分
hadoop,spark
集群式一堆人干一样的事情 ,分布式,把工作拆开
LB cLUSTER 均衡负载集群
F5 卖几十万,大众点评的就是70万,买一个不行,可能还单点失败,需要买两个
如果不想花那么高成本,就用软件LVS来解决,linux虚拟服务器,还有一些其他软件
DPORT,传输层只能根据ip地址和端口号来进行调度
应用层协议要进行调度就需要用到proxy server
mysql也可以做反向代理服务器,mysql-proxy,做什么读写分离
DNAT是根据目标端口来转发,iptable的DNAT只能转一个机器,所以就需要用到LVS
http协议是无状态的,调度器上有个表,记录了哪个地址连接到到哪里,下次连接的时候还往原机器调度,这样的话,原来的会话信息就可以保留下来,比如密码之类的
**但是这种做法可能有点糟糕,企业都是NAT上网,表面上都是同一个地址,但是都不是同一个机器,对于调度器来讲都是来自一个机器,有1000个用户,1000个用户都调度到一台机器上了,造成负载不均衡
**
cookie是用户发起请求的时候,服务器会生成一个cookie信息发送给客户A,A机器的硬盘上就生成了一个COOKIE文件,下次再访问网站的时候就会携带这个cookie信息,再请求报文中就会携带这个cookie,这样调度器看到这个cookie是调度到服务器1上了,这一次只要是同一个cookie就继续调度到1
这叫session 绑定,只要是同一台机器上的请求就始终让后端的同一个机器来进行响应
每个服务器拥有全部的session
造成的问题就是每个主机上存放一模一样的数据,每个服务器消耗内存是比较大的,用户量访问大就不太适合了
专门在后端搭建一个session服务器
keepalived是解决高可用的集群的
现在虽然实现了均衡负载,但是一旦调度器如果出故障了就全惨了
所以就需要有个高可用性的集群方案来解决调度器的单点失败
keepalived是天生和LVS一对,解决了LVS调度器的单点失败
LVS是一个均衡负载调度器,是集成在内核级的,发明人是章文嵩博士
LVS相当强大,已经被linux内核收购去了,后面的开发,交由LINUX团队开发了
用户通过互联网,访问到调度器,调度器根据请求,调度到后面服务器上去
虚拟ip地址应该是公网的地址,real server ip 私网地址更适合
2019/05/21 LVS基础
最新推荐文章于 2022-01-22 00:00:17 发布