分布式web框架专题能力输出介绍_第1页
分布式web框架专题能力输出介绍_第2页
分布式web框架专题能力输出介绍_第3页
分布式web框架专题能力输出介绍_第4页
分布式web框架专题能力输出介绍_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分布式WEB框架:现状与解决方案商业解决方案:性能稳定功能单一成本昂贵难以线性扩展开源解决方案:免费功能单一部署复杂,技术要求高运维成本较高分布式WEB框架:降低企业成本:基于开源组件上的功能扩展,无license带来高昂费用自动探测功能:应用上线下线,全程自动,无须人工干预,减少人为参与带来的误操作部署发布功能:统一的部署中心和发布中心,负载均衡组件自动部署,war包自动发布。监控功能:可视化监控中心,曲线图、饼状图,满足管理者不同的需求。配置中心:全部配置通过前台操作,权限分级管理,日志可回溯。基于分布式缓存的session管理:容量可线性扩展,基于容器(ketty)的原生扩展,应用无缝迁

2、移。All-Active部署模式:无单点瓶颈,负载均衡组件随业务扩展自由扩展。解决方案:自研分布式WEB框架现状面临挑战:1、预算不足,改造和维护成本不断上升2、应用动态伸缩时负载均衡是否能自动匹配,减少人为参与带来的误操作?3、开源组件功能单一,需要各自单独部署,骤复杂?WAR包,可否一键发布和部署?5、运行态的性能数据的情况,性能数据达到阈值前负载均衡能否及时发送告警信息?6、还在使用命令行、shell脚本?运维人员的技术水平要求苛刻?7、应用宕机时会话如何保持?分布式WEB框架:方案对比项目分布式WEB框架商业解决方案开源解决方案成本免费收费免费线性扩展能力线性扩展难以扩展线性扩展功能多

3、样性功能丰富:四层/七层/网页缓存/文件中心功能单一功能单一部署简单:一键部署简单复杂(源码编译)运维简单:1、多种样式图2、阈值告警3、可视化配置界面简单复杂(配置文件、日志)会话保持满足failover基于分布式session共享简单(会话粘滞)简单(会话粘滞)功能扩展代码完全掌握较难较难分布式WEB框架:产品组合介绍项目备选方案比较依据结果四层负载LVS、Ali-LVSAli-LVS完全兼容LVS,在LVS的基础上做了功能和安全方面的增强Ali-LVS七层负载Nginx、Tengine、haproxyHaproxy单进程模式,不能发挥多核的最大优点;Tengine完全兼容Nginx,在N

4、ginx的基础上做了功能和安全方面的增强Tengine网页缓存Squid、VarnishVarnish性能要比Squid高,正则表达式快速、批量地清除部分缓存Varnish容器Tomcat、Jetty、JBOSS基于Jetty自主研发的容器ketty,嵌入式容器,稳定、源码级把控Ketty分布式WEB框架:技术应用场景分布式WEB框架专题:分布式Web框架是基于开源组件Ali-LVS、Tengine、Varnish、Ketty进行的二次开发,提供整体方案,解决如:快速建站,WEB应用分布式部署、WEB层Session共享、WEB层文件存取、 统一WEB容器类型等问题,并提供可视化运维界面(可对

5、整个平台进行配置、部署和监控),有效的解决了单点故障,可随业务需要动态线性扩展,并降低了系统运维的成本。适用范围:大型WEB系统,需要跨区域多中心部署模式。高可用、高并发,无法由单个WEB应用支撑业务。对成本要求较低的系统:PCServer+多活系统,替换原有硬件负载和小型机的部署模式,解决企业成本高企。需遵循一定的规则和约束(如容器为Ketty)。原有架构新型架构分布式WEB框架:推荐组合方案说明序号组合方案适用场景1Ali-LVS+Keepalived适用前端应用使用四层协议负载均衡。如数据库集群2Tengine+Keepalived适用前端应用使用七层协议负载均衡。如内部服务框架3Ali

6、-LVS+KeepalivedS+Tengine+Varnish适用前端应用使用四层负载主备/主主的方式部署,可选网页缓存,适合中性网站4三层交换机*+Ali-LVS+Tengine+Varnish适用中大型web网站,无CDN服务5CDN+三层交换机*+Ali-LVS+Tengine适用大型web网站,带CDN服务*注:Ali-LVS可以使用DNS+多组热备方式实现线性扩展,但部署结构复杂,成本较高,不推荐使用, 使用三层交换机实现等价路由,部署结构简单,成本较低。分布式WEB框架:技术特性主要功能:基于 Ali-LVS,支持四层集群的负载能力基于Tengine,增强了七层负载的能力基于Va

7、rnish,网页缓存层,动态分离能力基于分布式缓存的session共享功能, 与容器无缝结合支持线性扩展,对应用零侵入;负载均衡探测模块,对应用实时监控,动态调整负载均衡的能力;可视化的运维管理平台,实时监控各个组件负载情况;可视化的配置管理中心,提高运维能力,减少故障运维成本;性能指标*:四层负载性能*:16w TPS七层负载性能:10w TPS(静态)容器性能:2.5wTPS(单实例)集群能力扩展系数:0.9*硬件说明:linux2.6/内存500G/存储2T/10g网卡Intel(R) Xeon(R) CPU E7-4820 v2.0 2.00GHz 8*4核*淘宝日均业务量TPS峰值约

8、5wTPS(来源 )分布式WEB框架:功能列表项目功能研发亮点性能负载均衡分四层和七层负载,结合zookeeper应用启动后,能自动探测并加入到负载均衡1、自动探测模块2、灰度策略控制平台四层负载单台性能达到16WTPS以上,七层负载单台性能达到10WTPS以上网页缓存基于Varnish缓存管理。可视化配置与监控静态页面情况下,与未使用网页缓存,性能提升15%以上文件服务基于HDFS的统一文件管理,解决了小文件存储,可对文件进行全局把控。全新自主研发Session管理基于分布式缓存的session管理,与容器无缝结合,对应用零侵入全新自主研发综合性能3000TPS可视化监控中心可视化页面,全面

9、监控LVS、Tengine、Varnish、WEB容器等全新自主研发可视化配置中心对框架内各个组件进行可视化的配置操作,分级权限管理,可审计回溯的日志全新自主研发分布式WEB框架:总结存在风险:本项目尚未在实际的生产环境下使用。能力成熟度:截止到6月底核心组件已完成并经过实验室环境下的各项测试,监控中心和配置中心基本完成,部署中心目前正在设计中,预计7月底发布。分布式WEB框架:业务场景一(网站架构)使用前前端使用商业负载均衡器,成本较高,线性扩展困难;后端会话采用粘滞或hash应用宕机切换后,原session数据丢失;数据库采用主备模式,数据库出现问题由应用负责故障切换;使用后前端使用开源的

10、负载均衡,可随业务线性扩展;会话采用基于分布式缓存的session共享模式,应用宕机满足failover;数据库层采用L4负载均衡,后端数据库数量对应用无感知Internet设备应用数据F5/A10Internet设备应用数据4层/7层/网页缓存分布式缓存交换机分布式WEB框架:业务场景二(服务框架)逻辑层(Backend)接入层(Frontend)逻辑层(Backend)七层负载使用前前端使用自研发的接入端,性能较低,1.5WTPS;后端逻辑层灰度发布较难实施;使用后前端采用L7负载均衡,使用主主模式,性能提升至7WTPS+;后端逻辑层,L7根据用户请求header头,区分服务实例版本,实现

11、灰度发布。服务框架:分为接入层(frontend)和逻辑层(backend)。接入层负责接受客户端请求,并转发请求到逻辑层。逻辑层负责处理具体的业务逻辑。逻辑层按照供应商或者业务模块划分为多个应用(app),每一个应用包含多个应用实例(AppServer)。一个应用实例运行在一个JVM容器中,由资源管理平台(YARN)统一按照需求来创建应用实例。分布式WEB框架:组件性能总览项目实现方式功能性能四层负载基于Keepalived+LVS实现1、多模式负载支持2、VIP漂移3、探测模块自动配置四层负载单台性能达到16WTPS以上七层负载基于Tengine实现1、支持灰度发布,访问控制等多种复杂调度

12、2、探测模块自动配置七层负载单台性能达到10WTPS以上网页缓存基于Varnish实现1、高效内存缓存2、95%以上高命中率静态页面情况下,与未使用网页缓存,性能提升15%以上Session管理基于分布式缓存的session管理,与容器无缝结合,对应用零侵入全新自主研发综合性能3000TPS分布式WEB框架:功能详述(负载均衡+网页缓存) 大型网站可以存在多级代理,最前端可用F5或LVS作为入口,让它们分担外部的高并发流量,负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡。网页缓存的原理是根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。负

13、载均衡支持基于tcp/ip连接的任务分配(4层负载均衡) 支持基于应用内容的任务分配(7层负载均衡) 支持负载均衡器自身的横向扩展 (负载均衡集群部署)支持跨vlan通讯支持web集群的动态伸缩 (增加减少服务器时,负载均衡器能正常工作)产品发布网页缓存页面自动缓存:可设置缓存时间,可以定义缓存过期的时间,自动去更新这些缓存。网页片段缓存:将页面的部分而不是全部进行缓存。web 展现层缓存:包括静态 html 、图片、js数据等,应充分利用静态化反向代理等技术加快静态资源的读取和后端系统的轮询调用分布式WEB框架:功能详述(web容器)支持标准Servlet支持热部署 易扩展,易集成,易插拔

14、高效率(长连接/短事务/IO请求处理/) 可作为组件嵌入应用程序 开源且可持继演进,业界主流支持yarn架构下资源控制 支持动态插件包JAR包发布引入Node.js,增强javascript的执行效率(考虑HTML5的流行趋势及支撑)在某些需要满足javaEE规范的应用使用tomcat和Jboss构建复合容器 web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。这里采用自主研发的Ketty.分布式WEB框架:功能详述(session共享)Sess

15、ionID一定长度的、一种无规律字符串组成,保证了Session ID值唯一。分布式环境Session数据的强一致性.Session的失效及超时检查机制Session数据在不同容器中的一致性和高效读写 提供一个群集保存session共享信息.其他应用统统把自己的session信息存放到session集群服务器组。当应用系统需要session信息的时候直接到session群集服务器上读取。分布式WEB框架:功能详述(配置管理)负载均衡配置:负载均衡主要包含配置向导,VIP配置,LVS配置,Tengine配置Varnish配置,web应用,agent,关联.负载拓扑:可以查看整个负载拓扑及基本情况

16、应用管理:基于ketty容器之上的分布式的可视化应用发布,实现了以应用版本的颗粒度进行管控系统基础配置:对用户,角色,菜单及日志的管理配置管理又名NebulaWeb利用直观的界面,为运维人员提供了全面、精准的配置及其他服务,从而减少了维护成本,排障时间,提升了优化效率。建议在使用本系统之前,先了解LVS、Tengine(或nginx)、Varnish等软件主要功能。分布式WEB框架:性能详述(四层负载)四层负载:基于keepalived+Ali-LVS实现,支持DR、FULLNAT多模式调度,VIP漂移实现无缝切换。因LVS没有流量产生的特性,对内存和CPU资源消耗比较低,抗负载能力强。且当后

17、端RS增加时,性能可接近线性增长。如右图所示:1、测试后端RS为tengine,3台tengine后端分别挂载有一个响应时间为20ms的动态应用。测试模式为DR模式。2、第一列为单独测试三台tengine的tps,三台结果相近。3、第二列为单台tengine挂载至LVS后的结果,可以看到在DR模式下,损耗极小。4、第3-5列可以看到,随着后端RS的数量增加,在相同并发数的情况下,TPS基本接近线性增长,并发数越高,效果越好5、当测试应用为静态应用时,随着后端RS的增加,TPS峰值可达到16W。分布式WEB框架:性能详述(七层负载)七层负载:基于Tengine实现,Tengine具有高性能,高可

18、配置性等特点。在其配置文件中,可实现url重写,基于cookie的灰度发布,基于head的灰度发布(需额外插件包 ),访问控制,gzip压缩等复杂的功能。同时其性能在同类软件中也是佼佼者。如右图所示:1、测试后端RS为一个响应时间为20ms的动态应用。2、随着后端应用服务器的增加,tengine在各并发下的TPS相应增长,增长幅度接近线性。当两台增加到三台时,在300并发下的TPS增长并不明显,原因为压力不够,当加大并发量时,TPS增加就接近线性了。3、在静态应用的测试中,随着后端rs的增加,tengine的TPS峰值达到10WTPS。分布式WEB框架:性能详述(网页缓存)网页缓存:基于Varnish实现,Varnish作为一个内存缓存,其响应时间短、命中率高、可配置型强。如右图所示:1、测试应用为一个静态html页面。2、同一应用的直连和通过varnish的对比结果: a. 当请求数为100W次时,总响应时间缩短9.6% b. 当请求数为200W次时,总响应时间缩短15.8% c. 当请求数为300W次时,总响应时间缩短32.8%可看出Varnish对静态请求如html,js,css,jpg等请求的性能提升至少在15%以上。3、 在分布式WEB框架中,Varnish还可以配合Tengine做动静分离,仅处理静态请求而不对不需要缓存的动态请求产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论