1基于Apache+Tomcat+MySql的多服务器集群和负载均衡解决方案编制:杨家鹏审核:会签:批准:2文档修订记录版本编号或者更改记录编号*变化状态简要说明(变更内容和变更范围)日期变更人批准日期V1.0C第一次评审版本2012-5-9杨家鹏*变化状态:C——创建,A——增加,M——修改,D——删除31引言..............................................................................................................................................41.1编写目的..............................................................................................................................42总体设计.......................................................................................................................................42.1架构设计..............................................................................................................................42.1.1系统物理架构图一......................................................................................................42.1.2系统物理架构图二(参考)......................................................................................53系统软硬件环境搭建与配置.......................................................................................................53.1系统软件环境搭建..............................................................................................................53.1.1软件环境要求(参考)..............................................................................................53.1.2说明(参考)..............................................................................................................63.2系统软件环境配置..............................................................................................................63.2.1安装与配置说明(参考)..........................................................................................63.3系统硬件环境配置............................................................................................................113.3.1硬件环境配置说明(参考)....................................................................................114参考资料.....................................................................................................................................121引言1.1编写目的此方案为实现基于Apache+Tomcat+MySql的多服务器集群和负载均衡,主要应用于长虹集团公司门户网站与其他应用系统的实施部署.2总体设计2.1架构设计2.1.1系统物理架构图一Web服服服服服服服服服服服服服服服服服服服服服服服服服服服服Internet服服服服服服/服服服服服服服服52.1.2系统物理架构图二(参考)Web服服服服服服服服服服服服服服服服服服服服服服服服服服服服Internet服服服服服服/服服服服服服服服3系统软硬件环境搭建与配置3.1系统环境搭建说明本方案采用内/外结合的方式,内主要是指自身技术架构搭建,外主要是指三方技术架构产品平台,更好的解决负载均衡/访问请求延迟等系统问题,提高访问/处理等效率.3.2系统软件环境搭建3.2.1软件环境要求(参考)OS版本:windowsserver2003JDK版本:1.6.0Apache版本:2.0Tomcat版本:5.0MySql版本:5.1A/B/C三台服务器63.2.2说明(参考)以下是环境搭建的几点说明:1.因负载均衡对系统内存依赖程度较高,需要考虑在硬件环境配置上做优化;2.需要考虑不同JDK版本对JDBC驱动的支持度;3.系统软件架构技术对底层访问技术的优化,主要针对数据库连接池技术;4.操作系统对并发访问的限制数.3.3系统软件环境配置3.3.1安装与配置说明(参考)本系统配置以Apache作为web服务器和负载均衡调度器.(a)分别安装Apache/tomcat至服务器A;(b)单独安装tomcat至服务器B;(c)安装MySql至服务器C.软件的配置:Apache配置:主要配置httpd.conf和新增加的文件workers.propertiesHttpd.conf:#一个连接的最大请求数量MaxKeepAliveRequests10000#NT环境,只能配置这个参数来提供性能IfModulempm_winnt.c#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程ThreadsPerChild1900每个子进程能够处理的最大请求数MaxRequestsPerChild10000/IfModule#加载mod_jk#LoadModulejk_modulemodules/mod_jk.so7##配置mod_jk#JkWorkersFileconf/workers.propertiesJkLogFilelogs/mod_jk.logJkLogLevelinfo#请求分发,对jsp文件,.do等动态请求交由tomcat处理DocumentRoot“C:/Apache/htdocs”JkMount/*.jsploadbalancerJkMount/*.doloadbalancerJkMount/servlet/*loadbalancer#关掉主机Lookup,如果为on,很影响性能,可以有10多秒钟的延迟。HostnameLookupsOff#缓存配置LoadModulecache_modulemodules/mod_cache.soLoadModuledisk_cache_modulemodules/mod_disk_cache.soLoadModulemem_cache_modulemodules/mod_mem_cache.soIfModulemod_cache.cCacheForceCompletion100CacheDefaultExpire3600CacheMaxExpire86400CacheLastModifiedFactor0.1IfModulemod_disk_cache.cCacheEnabledisk/CacheRootc:/cacherootCacheSize327680CacheDirLength4CacheDirLevels5CacheGcInterval48/IfModuleIfModulemod_mem_cache.cCacheEnablemem/MCacheSize8192MCacheMaxObjectCount10000MCacheMinObjectSize1MCacheMaxObjectSize51200/IfModule/IfModuleworker.Properties文件##workers.properties,可以参考:ps=#listtheworkersbynameworker.list=tomcat1,tomcat2,loadbalancer#————————#Firsttomcatserver#————————worker.tomcat1.port=8009worker.tomcat1.host=localhostworker.tomcat1.type=ajp13#Specifythesizeoftheopenconnectioncache.#worker.tomcat1.cachesize##Specifiestheloadbalancefactorwhenusedwith#aloadbalancingworker.#Note:#—-lbfactormustbe09#—-Lowlbfactormeanslessworkdonebytheworker.worker.tomcat1.lbfactor=900#————————#Secondtomcatserver#————————worker.tomcat1.port=8009worker.tomcat1.host=202.88.8.101worker.tomcat1.type=ajp13#Specifythesizeoftheopenconnectioncache.#worker.tomcat1.cachesize##Specifiestheloadbalancefactorwhenusedwith#aloadbalancingworker.#Note:#—-lbfactormustbe0#—-Lowlbfactormeanslessworkdonebytheworker.worker.tomcat1.lbfactor=2000#————————#LoadBalancerworker#————————##Theloadbalancer(typelb)workerperformsweightedround-robin#loadbalancingwithstickysessions.#Note:#—-Ifaworkerdies,theloadbalancerwillcheckitsstate#onceinawhile.Untilthenallworkisredirectedtopeer#worker.worker.loadbalancer.type=lbworker.loadbalancer.balanced_workers=tomcat1,to