集群(Cluster)
所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。负载均衡(Load Balance)
网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。
特点
(1)高可靠性(HA)。利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。(2)高性能计算(HP)。即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析、化学分析等。
(3)负载平衡(LB)。即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)
高可用集群( High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", "双机互备", "双机".高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)
1. 负载平衡:
2. 状态复制(集群):先进行负载平衡,再在各服务器间复制应用状态。
一种是把所有Session数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台Session服务器来获取数据;
另一种就是在集群中的所有节点间进行Session数据的同步拷贝,任何一个节点均保存了所有的Session数据。
对于tomcat的集群有两种方式,这个主要是针对session而言的。
一种就是sticky模式,即黏性会话模式。所谓sticky模式就是说同一个用户的访问请求都被派送到同一个tomcat实例上,这样我们就无须在多台服务器之间实现session共享了,这是其好处,不好的地方就是不能实现failureover了,一但用户访问的机器挂掉,那么其session就会丢失。
表示从同一窗口发来的请求都将有集群中的同一个tomcat进行处理。配置方式是在上面workers.properties文件中
Xml代码
worker.lbcontroller.sticky_session=True
worker.lbcontroller.sticky_session=True
粘性session的好处在不会在不同的tomcat上来回跳动处理请求,但是坏处是如果处理该session的tomcat崩溃,那么之后的请求将由其 他tomcat处理,原有session失效而重新新建一个新的session,这样如果继续从session取值,会抛出nullpointer的访问 异常。
mod_jk配置workers.properties
1 :true;0:false
worker.controller.sticky_session=1
worker.controller.sticky_session_force=0
一次请求中 session 只会在一个tomcat上,当该tomcat奔溃后,请求会跳转到其他tomcat上,但是其session不会复制到跳转后的tomcat上
worker.controller.sticky_session=0
worker.controller.sticky_session_force=0
每次请求都会跳转到其他tomcat上,(如果有AB两个tomcat负载均衡值都为1,第一次请求A session为A1,第二次请求跳转到B session B2,第三次又回到A session为 A1 和 A3,第四次跳转到B session 为 B2 和 B4
worker.controller.sticky_session=1
worker.controller.sticky_session_force=1
一次请求中 session 只会在一个tomcat上,当该tomcat奔溃后,服务端会返回Service Temporarily Unavailable:The server is
temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
worker.controller.sticky_session=0
worker.controller.sticky_session_force=1
每次请求都会跳转到其他tomcat上,(如果有AB两个tomcat负载均衡值都为1,第一次请求A session为A1,第二次请求跳转到B session B2,第三次又回到A session为A3,第四次跳转到B session B4,即每次跳转都不会带上session,也不会保留原有的session.
另外一种就是session复制模式了。session复制模式就可以很好的解决failureover的问题,即使某一台web服务器挂掉了,用户的请求还会被负载到其他的web服务器上,而且session也被复制了,这样对用户而言就像是在同一台机器上操作一样,不好的地方就是session复制需要系统资源和网络的开销,尤其是当web服务器多的时候或session里存储的数据量大的时候,这点将会比较的明显(不过自己还没有做这方面的测试)。
针对这两种方式的弊端和好处,我们可以采用将两种方式结合的方式来达到更好的效果,那就是sticky+session复制模式了。用户的请求按照 sticky方式被分发到同一个web服务器上,同时tomcat在后台做异步复制(非同步)session到其他web服务器,这样我们使用 sticky的简便性,同时又有了一定的容错能力。
相关推荐
apache2.4 tomcat7 mod_jk.so 完美整合实例
Apache2.0.43 + Tomcat4.1.18 + mod_jk-2.0.43.dll整合
apache+tomcat集群配置 tomcat 中workers.properties配置说明
这个网址中,mod_jk各种版本的都有:(windows/linux 都有) http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 首先,必须弄清你的Apache版本,就是 所谓httpd -v 之后显示的版本信息。 ...
apache+tomcat+mod_jk整合文档,内有安装包。apache+tomcat+mod_jk整合文档,内有安装包。
Apache2.4服务器,搭配mod_jk.so 配置动静分离,版本搭配,2.4.*版本的Apache服务器配1.2.4的mod_jk.so,官网要求的组合
“mod_jk.so”+apache2.4+tomcat7+mod_jk.so_整合配置,dome+文档
mod_wl_XX.so是apache用于代理weblogic的编译so文件,压缩包中包含的mod_wl_24和mod_wl_22分别用于apache2.4和apache2.2版本,mod_wl_24又包含有64位和32位版本,安装上传时请选择相应版本。 配置方法: 1、将对应的...
mod_jk-1.2.42.zip 找了很久才找到 整合的基本原理 作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给...
RedHat_linux+apache+tomcat+mod_jk_负载均衡安装说明
apache + tomcat + mod_jk集群。我分别在windwos、linux32位、linux64位系统下都成功搭建。
用apache代理分发weblogic服务请求,配置apache的httpd.conf文件,将动态库文件放到modules目录下mod_wl_22.so,该文件是linux版本
Apache2.2升级2.4需要用到的weblogic的集群负载分发模块,这个文件是window64位版本,mod_wl_24.so,至于用法我就不说了,懂的都懂
理能力比tomcat强,所以tomcat开发组开发了与apache结合使用的mod_jk模块。该协议 由apache作请求代理,将HTTP协议的请求转化为AJP协议包,并传给后端的 tomcat。mod_jk和apache现在普遍使用AJP1.3协议[2]。它是一个...
tomcat集群配置所需要的apache和mod_jk-apache-2.0.55.so
自己在APACHE2.4.7x64编译成功的mod_jk,希望大家不要再走弯路,我编译了好久,才最后得到正果。
Apache Http Server : Apache/2.0.63 Apache Tomcat : Apache Tomcat/5.5.27 mod_jk : jk2.0.4-win32
压缩包中有mod_jk.so文件,同时附带apache官网下载链接。 内含windows32/64的各版本mod_jk.so文件,同时包含各版本iis文件。
apache下连接tomcat mod_jk.so 自己亲自编译的
mod_jk(包含apache2.4.x和apache2.2.x的两种版本)