软负载均衡技术实现.ppt
《软负载均衡技术实现.ppt》由会员分享,可在线阅读,更多相关《软负载均衡技术实现.ppt(66页珍藏版)》请在三一办公上搜索。
1、软负载均衡技术实现,2014年01月周洋,内容大纲,网站工作原理负载均衡概述DNS负载均衡Apache负载均衡Nginx负载均衡LVS负载均衡Squid负载均衡数据库负载均衡,网站工作原理-一次请求访问,浏览器输入地址,DNS查找网站,服务器响应请求,数据库数据访问,用户交互,负载均衡,图片服务器代理/缓存,图片,文件服务器,静态页面、文档等,Web服务器,应用服务器,缓存,数据库服务器,网站工作原理-网络,网站工作原理-网络,IP:无连接、不可靠、寻址与路由、分段与重组 TCP:面向连接、传输数据、可靠、TCP握手 UDP无连接、传输数据、不可靠 DNS IP地址映射、域名结构、DNS查询
2、速度、带宽、延迟带宽:指给定连接在特定时间内能够传输的数据总量,通常用比特每秒来衡量延迟:指给定请求收到响应所需要的时间,网站工作原理-HTML和web,HTML特征:简单规范、基于文本、链接、超文本HTML5:实际指的是包括HTML、CSS和JavaScript在内的一套技术组合,希望能够减少浏览器对于需要插件的丰富性网络应用服务,并且追加了本地数据库等 Web 应用的功能 web内容静态内容:图片、CSS、JS动态内容:响应请求创建加速动态内容:缓存,网站工作原理-影响网站性能因素,影响网站性能因素,除去硬件和通信部分,大概有以下:高访问高并发用户访问量高,事务处理复杂占时 缓存使用缓存可
3、减小对服务器资源的消耗,大大提高网站性能 动态静态内容划分动态静态资源,静态内容不应和应用服务放一起 图片分离图片资源占用I/O和带宽,需要单独分离 数据库数据库是一个很大瓶颈,数据库必须在硬盘上四处搜寻数据,负载均衡概述-负载均衡,负载均衡(Load Balance,又称为负载分担),其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。,需要说明的是:负载均衡设备不是基础网络设备,而是一种性能优化设备。对于网络应用而言,并不是一开始就需要负载均衡,当网络应用的访问量不断增长,单个处
4、理单元无法满足负载需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。,负载均衡有两方面的含义:首先,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是常说的集群(clustering)技术。第二层含义就是:大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用。,负载均衡概述-一些概念,正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指
5、定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。反向代理反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。纵向扩展指企业后端大型服务器以增加处理器等运算资源进行升级以获得对应用性能的要求。横向扩展指企业可以根据需求增加不同的服务器应用,依靠多部服务器协同运算,借助负载均衡及容错等功能来提高运算能力及可靠度。去IOEIBM是服务器提供商,
6、Oracle是数据库软件提供商,EMC则是存储设备提供商,三者构成了一个从软件到硬件的企业数据库系统。“去IOE”运动就是用成本更加低廉的软件,以消除“IOE”对自己数据库系统的垄断。集群集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。高可用HA高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。,负载均衡概述-技术实现,硬件产品:F5 BIG-IP、
7、A10、NetScaler等特点:性能高、维护方便、价格昂贵 软件产品:apache、nginx、LVS、squid等特点:性能比硬件要差、开源免费、维护相对硬件复杂 四层负载均衡所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。四层交换机主要分析IP层及RTCP/UDP层,实现四层流量负载均衡。七层负载均衡所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP
8、协议URI或Cookie信息。,负载均衡概述-技术实现,硬件七层负载均衡对比:NetScaler,负载均衡概述-技术实现,软件七层负载均衡对比:Nginx,负载均衡概述-可用的计算资源,服务器通常有四部分主要的资源,处理器、内存、网络和存储,了解这些资源情况,才能更好的利用,负载均衡才有意义。,DNS负载均衡,DNS负载均衡,它的工作机制非常简单,使用一种称为轮转的方式,来向特定域的一组服务器分发连接请求。这种操作是顺序执行的,要想服务器增加基于DNS的负载均衡,只需为域增加多个A记录即可,BIND会负责完成其他工作。DNS服务器软件:BIND(Berkeley Internet Name D
9、omain伯克利互联网域名守护进程)记录类型:NS记录代表名称服务器记录;MX记录代表邮件收发器记录;A记录将一个IP地址和一个域名链接起来;CNAME记录代表规范名称或别名;优点:简单、易于调试、容易扩展缺点:会话保持负载处理方式(分配不均)容错性(无法判别宕机),DNS负载均衡,查询域名 dig.hk遍历查询 dig.hk+trace测试DNS:nslookup 127.0.0.1,apache负载均衡,apache,jk2,tomcat,apache负载均衡,主机配置主机1:rhel5,ip:192.3.4.41 子网掩码:255.255.255.128,默认网关:192.3.4.10主
10、机2:centos6.4,ip:192.3.4.42 子网掩码:255.255.255.128,默认网关:192.3.4.10客户机:win7,ip:192.3.4.59 子网掩码:255.255.255.128,默认网关:192.3.4.10三个主机可以相互访问,安装JDK(jdk-1_5_0_22-linux-i586-rpm.bin)主机1和主机2均安装安装tomcat(apache-tomcat-6.0.18-linux.zip)主机1和主机2均安装,apache负载均衡,安装apache(httpd-2.2.26.tar.gz)rhel5(192.3.4.41)上安装下载httpd-
11、2.2.26.tar.gz 把httpd-2.2.26.tar.gz放到/soft 下rootlocalhost#cd/softrootlocalhost soft#tar zxvf httpd-2.2.26.tar.gz/解压apache的压缩包rootlocalhost soft#cd httpd-2.2.6/定位到httpd-2.2.6 文件夹下rootlocalhost httpd-2.2.6#./configure-prefix=/usr/local/apache-enable-so/配置apache路径rootlocalhost httpd-2.2.6#make/编译apacher
12、ootlocalhost httpd-2.2.6#make install/安装apacherootlocalhost httpd-2.2.6#cd/usr/local/apache/进入apache的目录 rootlocalhost apache#cd conf/rootlocalhost conf#cp-a httpd.conf httpd.conf-/备份apache配置文件rootlocalhost conf#chkconfig-list httpd/查看httpd服务是否已存在rootlocalhost conf#chkconfig httpd off/关闭系统自带了httpd的服务
13、,如果存在httpd服务 rootlocalhost conf#service httpd status/查看自带httpd服务状态rootlocalhost conf#/usr/local/apache/bin/apachectl-k start/linux启动apache命令 rootlocalhost conf#netstat-an|grep:80/查看linux80端口是否开启rootlocalhost conf#ps-aux|grep httpd/linux下查看apache进程,apache负载均衡,安装jk2(tomcat-connectors-1.2.26-src.tar.gz
14、)rhel5上安装tar zxvf tomcat-connectors-1.2.26-src.tar.gzcd tomcat-connectors-1.2.26-srccd native./configure-with-apxs=/usr/local/apache/bin/apxs-with-java-home=/usr/java/jdk1.5.0_22-with-java-platform=2-enable-jnimakecp apache-2.0/mod_jk.so/usr/local/apache/modules/注:如果此处的mod_jk.so是通过其它方法或者途径得到的,在后面启动a
15、pache的时候可能会提示:Cannot load/usr/local/termite/apache/modules/mod_jk.so into server:/usr/local/termite/apache/modules/mod_jk.so:invalid ELF headerfile mod_jk.so 可能会显示 mod_jk.so:MS-DOS executable(EXE),OS/2 or MS Windows而正确的应该显示mod_jk.so:ELF 32-bit LSB shared object,Intel 80386,version 1(SYSV),not stripp
16、edcd/usr/local/apache/moduleschmod 755 mod_jk.so,apache负载均衡,配置jk2在/usr/local/apache/conf目录下新建mod_jk.conf文件,内容如下:LoadModule jk_module modules/mod_jk.soJkWorkersFile conf/workers.propertiesJkMount/*.jsp controller JkMount/jkstatus status JkLogFile logs/mod_jk.log#Set the jk log level debug/error/info
17、JkLogLevel debug#Select the log format JkLogStampFormat%a%b%d%H:%M:%S%Y#JkOptions indicate to send SSL KEY SIZE,JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories#JkRequestLogFormat set the request format JkRequestLogFormat%w%V%T“在/usr/local/apache/conf目录下httpd.conf文件末尾添加如下内容:#jk_moduleInc
18、lude conf/mod_jk.conf,apache负载均衡,配置jk2在/usr/local/apache/conf目录下新建workers.properties文件,内容如下:worker.list=controller,status#=tomcat1=worker.tomcat1.port=8009 worker.tomcat1.host=192.3.4.41 worker.tomcat1.type=ajp13worker.tomcat1.lbfactor=1#=tomcat2=worker.tomcat2.port=8009 worker.tomcat2.host=192.3.4.
19、42 worker.tomcat2.type=ajp13worker.tomcat2.lbfactor=1#=controller=worker.controller.type=lbworker.controller.balanced_workers=tomcat2,tomcat1worker.controller.sticky_session=1#worker.controller.sticky_session_force=1#-worker.status.type=status,apache负载均衡,Ajp13协议,8009端口监听,apache负载均衡,测试负载均衡在Tomcat1和To
20、mcat2下新建站点tomcat/webapps目录下新建test目录,test目录列表:index.jsp、WEB-INF,WEB-INF目录下web.xml文件,Tomcat1 index.jspTomcat 1,Tomcat2 index.jspTomcat 2,web.xml index.jsp,apache负载均衡,测试负载均衡启动Tomcat1,Tomcat2 和Apache服务 Apache服务器ip:192.3.4.41 端口70 service apache startTomcat1服务器ip:192.3.4.41 端口8080./startup.shTomcat2服务器ip
21、:192.3.4.42 端口8080./startup.sh首先验证Apache服务器的静态页面是否正常,访问:http:/192.3.4.41:70/(若局域网内不能访问请检查防火墙设置)验证tomcat和apache配置提供负载均衡,用不同的终端访问http:/192.3.4.41/test/index.jsp如果你看到红色的页面,表示为tomcat1 服务器返回的,如果你看到l蓝色的页面,表示为tomcat2 服务器返回的。停止其中一台Tomcat服务,继续访问,验证负载均衡是否停止对失效服务的分发请求,apache负载均衡,Jkstatus通过 jkstatus 可以监控 JK 目前的
22、工作状态以及对到 tomcat 的连接进行设置访问http:/192.3.4.41/jkstatus(http:/192.3.4.41:70/jkstatus),apache负载均衡,配置tomcat绑定session注意会话复制会消耗一定性能;会话保持和session独立管理都可以解决此类问题。修改tomcat1,tomcat2的server.xml(tomcat/conf),tomcat1替换第一个如下:,tomcat2替换第一个如下:,apache负载均衡,tomcat1和tomcat2替换如下:,apache负载均衡,tomcat1和tomcat2替换如下:,修改tomcat1,tom
23、cat2测试项目中的WEB-INF/web.xml在web.xml加入 即可,apache负载均衡,测试tomcat绑定session重启apache,tomcat1,tomcat2,用不同的终端访问:http:/192.3.4.41:70/test/index.jsp可以看到Tomcat终端不再打印null,一方设置session双方都打印出session,实现session共享。tail f tomcat/logs/catalina.out,Nginx负载均衡,使用Nginx做七层负载均衡的理由高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到23万并发连接数。内存消耗少:在3
24、万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)。配置文件非常简单:风格跟程序一样通俗易懂。成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。支持Rewrite重写规则:能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群组。内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。节省带宽:支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。稳定性高:用于反向代理,宕机的概率微乎其微。,Ngin
25、x负载均衡,nginx,tomcat,Nginx负载均衡,Nginx高可用集群,Nginx负载均衡,安装nginx(nginx-1.4.4.tar.gz)centos6.4(192.3.4.42)上安装 安装编译用到的包rpm安装:rpm ivh 包名 安装pcre(pcre-8.33.tar.gz)为了确保能在nginx中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有PCRE包。检查是否已经安装:pcretest C,tar-xzfpcre-8.33.tar.gz cdpcre-8.33./configure-enable-utf8-enable-unicode-proper
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 负载 均衡 技术 实现
链接地址:https://www.31ppt.com/p-5650841.html