分布式高性能的若干问题
2016-03-30 08:57
295 查看
1、Linux的什么内核包括LVS,说说LVS的三种负载均衡模式的原理与效率对比;
2.6.32之后的内核版本包括LVS
LVS-DR,直接相连模式,调度器与实际服务器各有一块网卡,并且都连在相同的网段上,客户端访问调度器,之后直接调度器进行ARP解析,解析到相应的服务器上,从而从服务器返回,在整个过程中公用一个对外访问地址;
LVS-NAT,NAT模式,调度器通过端口转发的方式,将数据内容通过端口发送到对应的实际服务器上,在IP数据报的地址上包含到相应的端口,然而IP或者其他信息都仅保存在调度器上,然后通过调度器返回;
LVS-TUN,TUN隧道模式,调度器包含一个拥有一个虚拟的IP地址,在客户端进行访问时,在数据包上重新封装一层,之后按照一定策略路由到各个服务节点上,服务节点通过统一访问的方式返回服务器,返回时依然使用虚拟IP。
2、Keepalived的实现原理,Keepalived是HA(高可用方案)还是负载均衡;
keepalive提供虚拟路由功能可以实现双机浮动vip,在发生故障时进行双机vip的动态绑定,从而实现双机热备功能。keepalive监测机制是通过healthcheck功能完成,在ip层keepalived定时想服务器发送icmp包,如果没有回应则判定服务器失效,在tcp层主要是通过端口判定是否正常工作,在应用层根据服务器程序是否运行来判定服务器是否正常。
从服务的角度来看,keepalived没有进行消息的分发,所以i还是属于高可用的实现方案;
3、HAProxy的原理、特性,并解释HAProxy流行的原因;
Haproxy实现了一种事件驱动,单一进程模型。在第四层、第七层上都可以实现相应的代理服务,同时在haproxy上可以设置。客户端发送到haproxy之后进行相应的处理,然后转发到Backend后端调用实际的服务器,最后返回客户端。
Haproxy开源,单进程事件处理使它可以处理大并发请求,同时脱离多线程以及锁机制避免不必要的性能开销;
Haproxy免费、开源、稳定,同时在性能尚有加大的提升,同时,实现了不同的存储方式以及路由策略。
4、LVS、Keepalived、HAProxy的异同和各自擅长的领域;
LVS与HAProxy比较类似,实现的是负载均衡机制,在负载均衡的机制下实现了一定的策略,同时,都实现了一定的转发机制,同时构建了一定的转发规则以及传输方式;同时,LVS由于存在于内核中,所以在进行底层的解析时与转发时存在一定的优势,而Haproxy在应用性方面、转发规则方面更为灵活,所以LVS对系统级别的负载均衡能力较强一些,而HAProxy更容易完成应用级别的灵活配置;
Keepalived与HAProxy从某种意义上都实现了一定的容错性,keepalived实现一定的应用检测判断出故障后进行相应的策略,HAProxy也会对后端节点进行轮询从而即使剔除异常服务程序,然而Keepalived基于ip的转换服务,在发生异常时进行ip的动态绑定,从而实现高可用,而haproxy只是将后端的节点踢出,所以keepalived更适于进行双击热备,而haproxy更适于相同类型服务器的动态判断,当然为了保证HAProxy的高可用也可以对它进行keepalived。
LVS与HAProxy一样主要进行负载均衡,然而对后端的判断稍微少弱一些,所以经常使用LVS+Keepalived进行综合使用,同样可以完成主备LVS的自动切换。
2.6.32之后的内核版本包括LVS
LVS-DR,直接相连模式,调度器与实际服务器各有一块网卡,并且都连在相同的网段上,客户端访问调度器,之后直接调度器进行ARP解析,解析到相应的服务器上,从而从服务器返回,在整个过程中公用一个对外访问地址;
LVS-NAT,NAT模式,调度器通过端口转发的方式,将数据内容通过端口发送到对应的实际服务器上,在IP数据报的地址上包含到相应的端口,然而IP或者其他信息都仅保存在调度器上,然后通过调度器返回;
LVS-TUN,TUN隧道模式,调度器包含一个拥有一个虚拟的IP地址,在客户端进行访问时,在数据包上重新封装一层,之后按照一定策略路由到各个服务节点上,服务节点通过统一访问的方式返回服务器,返回时依然使用虚拟IP。
2、Keepalived的实现原理,Keepalived是HA(高可用方案)还是负载均衡;
keepalive提供虚拟路由功能可以实现双机浮动vip,在发生故障时进行双机vip的动态绑定,从而实现双机热备功能。keepalive监测机制是通过healthcheck功能完成,在ip层keepalived定时想服务器发送icmp包,如果没有回应则判定服务器失效,在tcp层主要是通过端口判定是否正常工作,在应用层根据服务器程序是否运行来判定服务器是否正常。
从服务的角度来看,keepalived没有进行消息的分发,所以i还是属于高可用的实现方案;
3、HAProxy的原理、特性,并解释HAProxy流行的原因;
Haproxy实现了一种事件驱动,单一进程模型。在第四层、第七层上都可以实现相应的代理服务,同时在haproxy上可以设置。客户端发送到haproxy之后进行相应的处理,然后转发到Backend后端调用实际的服务器,最后返回客户端。
Haproxy开源,单进程事件处理使它可以处理大并发请求,同时脱离多线程以及锁机制避免不必要的性能开销;
Haproxy免费、开源、稳定,同时在性能尚有加大的提升,同时,实现了不同的存储方式以及路由策略。
4、LVS、Keepalived、HAProxy的异同和各自擅长的领域;
LVS与HAProxy比较类似,实现的是负载均衡机制,在负载均衡的机制下实现了一定的策略,同时,都实现了一定的转发机制,同时构建了一定的转发规则以及传输方式;同时,LVS由于存在于内核中,所以在进行底层的解析时与转发时存在一定的优势,而Haproxy在应用性方面、转发规则方面更为灵活,所以LVS对系统级别的负载均衡能力较强一些,而HAProxy更容易完成应用级别的灵活配置;
Keepalived与HAProxy从某种意义上都实现了一定的容错性,keepalived实现一定的应用检测判断出故障后进行相应的策略,HAProxy也会对后端节点进行轮询从而即使剔除异常服务程序,然而Keepalived基于ip的转换服务,在发生异常时进行ip的动态绑定,从而实现高可用,而haproxy只是将后端的节点踢出,所以keepalived更适于进行双击热备,而haproxy更适于相同类型服务器的动态判断,当然为了保证HAProxy的高可用也可以对它进行keepalived。
LVS与HAProxy一样主要进行负载均衡,然而对后端的判断稍微少弱一些,所以经常使用LVS+Keepalived进行综合使用,同样可以完成主备LVS的自动切换。
相关文章推荐
- MySql 下载安装使用。
- Android - day four 四大组件之 Service
- RFC3984: RTP Payload Format for H.264 Video(中文版)
- Merge k Sorted Lists
- OpenAIS学习笔记
- algrothm_最大公约数+最小公倍数?
- zabbix server访问zabbix agent的10050端口不通的定位过程
- maven2不能下载jta-1.0.1B.jar的解决方法(手工安装):
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- RabbitMQ的几种典型使用场景
- Node.js操作mysql数据库增删改查
- SharedPreferences介绍与封装
- Ubuntu下mysql数据库的导入与导出命令
- 今天你将废纸篓清理干净了吗
- 如何提高你代码质量
- 基于React.js实现原生js拖拽效果引发的思考
- JAVAFX 一点浅薄的学习建议
- Mac卸载软件 CleanMyMac最好选择
- Mac垃圾清理工具使用注意点
- 如何清理mac垃圾