使用Apache作为前端的负载均衡器,Apusic做为后台服务器。Apache接收客户端请求,并将请求转发给Apusic;当Apusic
服务器处理结束,将响应的信息转发给Apache,并通过Apache最终将响应信息传到客户端。
使用Apache作为负载均衡器,可以有许多策略,我们现在配置的是session sticky策略。通俗的说,就是Session 粘住。可以这样来解释:
当浏览器通过Apache转发请求到某一台服务器后,此后Apache将所有的请求,都转发到这一台服务器上。有两种情况,Apache将请求转发到
另外一台服务器上:
1)、该服务器宕掉。
2)、浏览器关闭。
集群的配置过程:
1、安装Apache
./configure --prefix=/usr/local/apache2.2.4 --with-ssl=/usr/local/openssl --enable-so --enable-mods-shared="ssl headers proxy proxy_balancer proxy_connect proxy_http cache mem_cache"
make
make install
2、Apusic配置
apusic.conf中加入:
<SERVICE
CLASS="com.apusic.cluster.ClusterService"
>
<ATTRIBUTE NAME="ClusterName" VALUE="ApusicCluster"/>
<ATTRIBUTE NAME="LoadWeight" VALUE="100"/>
</SERVICE>
将SessionService配置Session复制和转发
<ATTRIBUTE NAME="Distributable" VALUE="True"/>
<ATTRIBUTE NAME="Replicable" VALUE="True"/>
3、在Apusic配置集群队列
在Linux操作系统下,需要编辑jgroup.xml文件,
<UDP
mcast_addr="230.0.0.1" mcast_port="2550"
ip_ttl="8" ip_mcast="true" loopback="true"
mcast_send_buf_size="32000" mcast_recv_buf_size="64000"
ucast_send_buf_size="32000" ucast_recv_buf_size="64000"
down_thread="false" up_thread="false" bind_addr="192.168.6.129"/>
通过bind_addr,将IP绑定。
4、Apache的负载均衡的配置:
#<VirtualHost *:80>
ProxyPass / balancer://proxy/ stickysession=JSESSIONID nofailover=Off
#ProxyPass / balancer://proxy/
<Proxy balancer://proxy>
BalancerMember http://192.168.6.129:6888 loadfactor=1 route=jvm1
BalancerMember http://192.168.6.69:6888/ loadfactor=1 route=jvm2
</Proxy>
#</VirtualHost>
5、Apusic启动脚本
java -Dcom.apusic.jvm.route=jvm1 -Xms128m -Xmx512m -classpath "$CP" com.apusic.server.Main -root "$APUSIC_HOME" "$@"
6、性能优化
1)、Apache调优
配置参数:
<IfModule prefork.c>
ServerLimit 1000
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 900
MaxRequestsPerChild 0
</IfModule>
2)、Apusic调优
<SERVICE
CLASS="com.apusic.util.ThreadPoolService"
NAME="apusic:service=ThreadPool,name=MuxHandler"
>
<ATTRIBUTE NAME="MinSpareThreads" VALUE="0"/>
<ATTRIBUTE NAME="MaxSpareThreads" VALUE="10"/>
<ATTRIBUTE NAME="MaxThreads" VALUE="200"/>
<ATTRIBUTE NAME="MaxQueueSize" VALUE="500"/>
<ATTRIBUTE NAME="IdleTimeout" VALUE="300"/>
</SERVICE>
<SERVICE
CLASS="com.apusic.util.ThreadPoolService"
NAME="apusic:service=ThreadPool,name=HTTPHandler"
>
<ATTRIBUTE NAME="MinSpareThreads" VALUE="5"/>
<ATTRIBUTE NAME="MaxSpareThreads" VALUE="30"/>
<ATTRIBUTE NAME="MaxThreads" VALUE="300"/>
<ATTRIBUTE NAME="MaxQueueSize" VALUE="500"/>
<ATTRIBUTE NAME="IdleTimeout" VALUE="300"/>
</SERVICE>
<SERVICE
CLASS="com.apusic.util.ThreadPoolService"
NAME="apusic:service=ThreadPool,name=ORBWorker"
>
<ATTRIBUTE NAME="MinSpareThreads" VALUE="5"/>
<ATTRIBUTE NAME="MaxSpareThreads" VALUE="30"/>
<ATTRIBUTE NAME="MaxThreads" VALUE="30"/>
<ATTRIBUTE NAME="MaxQueueSize" VALUE="500"/>
<ATTRIBUTE NAME="IdleTimeout" VALUE="300"/>
</SERVICE>
<SERVICE
CLASS="com.apusic.net.Muxer"
>
<ATTRIBUTE NAME="Port" VALUE="7888"/>
<ATTRIBUTE NAME="Backlog" VALUE="150"/>
<ATTRIBUTE NAME="Timeout" VALUE="600"/>
<ATTRIBUTE NAME="MaxWaitingClients" VALUE="800"/>
<ATTRIBUTE NAME="WaitingClientTimeout" VALUE="5"/>
<ATTRIBUTE NAME="SSLEnabled" VALUE="True"/>
<ATTRIBUTE NAME="SecurePort" VALUE="7889"/>
<ATTRIBUTE NAME="KeyStore" VALUE="config/sslserver"/>
<ATTRIBUTE NAME="KeyPassword" VALUE="keypass"/>
</SERVICE>
增加虚拟机内存参数:
$JAVA_RUN -Dcom.apusic.jvm.route=jvm1 -Djava.awt.headless=true -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Xms1024m -Xmx1536m -XX:MaxPermSize=128m -XX:MaxNewSize=256m -XX:NewRatio=2 -XX:NewSize=128M -XX:SurvivorRatio=8 -Xss128k -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -Xrs -Xloggc:gc.txt -XX:+PrintGC -XX:+PrintGCDetails -classpath "$CP" com.apusic.server.Main -root "$APUSIC_HOME" "$@"
3)、系统调优
ulimit –n 65535
分享到:
相关推荐
Redis集群配置文件是实现Redis高可用性和数据分片的关键组件。在Redis集群中,数据被分散存储在多个节点上,每个节点负责一部分数据,从而提高了系统的扩展性和容错性。以下将详细介绍Redis集群配置文件的相关知识,...
Tomcat7 集群配置 Tomcat7 集群配置是指将多个 Tomcat 服务器组合成一个集群,以提高系统的可用性和可扩展性。在这个配置中,Session 复制机制是一个非常重要的部分,它可以确保在集群中的每个节点都可以访问到同一...
WebLogic 11g 多机集群配置 WebLogic 11g 多机集群配置是指在多个服务器上安装和配置 WebLogic 11g 服务器,以实现高可用性和负载均衡。在本文中,我们将详细介绍如何配置 WebLogic 11g 多机集群,包括管理服务器、...
### MySQL高效集群配置详解 #### 一、项目背景与需求 在当今的信息化时代,尤其在金融、基金、证券、保险以及电信等关键行业,业务的连续性和用户体验的提升成为了核心竞争力之一。为了满足7x24小时不间断服务的...
### WAS集群配置详解 #### 一、概述 WebSphere Application Server (WAS) 是IBM提供的一款高性能的应用服务器软件,广泛应用于构建和部署企业级Java应用。为了提高系统的可用性、可伸缩性和负载均衡能力,通常会...
【微软集群配置详解】 微软集群配置是企业级IT环境中常用的一种高可用性解决方案,通过将多台服务器连接在一起,形成一个共享资源池,确保在单台服务器故障时,服务仍能持续运行,从而提高系统的稳定性和可靠性。...
### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户需求的日益增长,单一服务器往往难以满足高性能、高可靠性的要求。为了应对这一挑战,通常采用Apache+...
Apache2.2+JBOSS 5 集群配置主要涉及在Linux环境下构建高可用性和负载均衡的服务器集群,以提升应用服务的稳定性和处理能力。以下是详细的知识点: 1. **JBoss集群架构**: JBoss 集群可以采用两种架构:客户端...
【标题】:“Tomcat集群配置” 在Web应用的高可用性和可扩展性需求日益增长的今天,Tomcat集群成为了一个重要的解决方案。Tomcat集群能够通过负载均衡和故障转移来提高服务的稳定性和性能。以下是对Tomcat集群配置...
首先,我们来看标题中的“FastDFS集群配置文件”。一个FastDFS集群通常包括Tracker服务器和Storage服务器。Tracker服务器负责调度任务,Storage服务器则负责数据存储。集群的搭建和配置涉及到多个文件,包括`mod_...
在这里,我们将深入探讨`kafka集群配置文件`以及它们与`zookeeper集群`的关系。 **1. Kafka集群配置** Kafka集群由多个服务器(称为Brokers)组成,每个Broker都存储一部分主题的数据。为了设置一个Kafka集群,我们...
### Hadoop 2.6 集群配置详解 #### 一、环境配置 ##### 1.1 服务器环境 1. **IP地址配置**:根据实际情况为每台服务器分配唯一的IP地址,例如: - hadoop140 的 IP 地址为 192.168.50.140 - hadoop141 的 IP ...
WebLogic集群配置和负载均衡的实现
**Kafka与Zookeeper集群配置详解** 在大数据处理和实时流计算领域,Apache Kafka和Apache Zookeeper是两个不可或缺的组件。Kafka作为一个高吞吐量的分布式消息系统,用于处理实时数据流,而Zookeeper则作为一个...
本篇详细阐述了从下载安装到集群配置的全过程。 首先,Zookeeper集群部署的前提条件是已经正确安装了Java环境,因为Zookeeper是用Java编写的,通过`java -version`命令可以查看当前Java版本。下载Zookeeper包可以...
"集群配置参数生成.zip" 文件集合提供了一个实用工具,旨在帮助管理员优化Hadoop集群的配置,特别是针对Hive、YARN和Container的参数设置。这个工具简化了通常需要手动完成的复杂配置过程,通过自动分析节点配置信息...
"Apache集群配置(proxy)" 本文介绍了使用Apache反向代理配置集群,基于mod_proxy+Apache 2.2.16+Tomcat 7实现负载均衡与集群配置。 一、 背景简介 大多数企业应用都希望能做到7*24小时不间断运行。要保持如此高的...
centos7的redis集群配置文件