`
liqi6510
  • 浏览: 39202 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

集群配置

阅读更多
   使用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集群中,数据被分散存储在多个节点上,每个节点负责一部分数据,从而提高了系统的扩展性和容错性。以下将详细介绍Redis集群配置文件的相关知识,...

    tomcat7 集群配置

    Tomcat7 集群配置 Tomcat7 集群配置是指将多个 Tomcat 服务器组合成一个集群,以提高系统的可用性和可扩展性。在这个配置中,Session 复制机制是一个非常重要的部分,它可以确保在集群中的每个节点都可以访问到同一...

    weblogic11g多机集群配置

    WebLogic 11g 多机集群配置 WebLogic 11g 多机集群配置是指在多个服务器上安装和配置 WebLogic 11g 服务器,以实现高可用性和负载均衡。在本文中,我们将详细介绍如何配置 WebLogic 11g 多机集群,包括管理服务器、...

    Mysql 高效集群配置

    ### MySQL高效集群配置详解 #### 一、项目背景与需求 在当今的信息化时代,尤其在金融、基金、证券、保险以及电信等关键行业,业务的连续性和用户体验的提升成为了核心竞争力之一。为了满足7x24小时不间断服务的...

    WAS集群配置文档WAS集群配置文档

    ### WAS集群配置详解 #### 一、概述 WebSphere Application Server (WAS) 是IBM提供的一款高性能的应用服务器软件,广泛应用于构建和部署企业级Java应用。为了提高系统的可用性、可伸缩性和负载均衡能力,通常会...

    微软集群配置安装备忘录

    【微软集群配置详解】 微软集群配置是企业级IT环境中常用的一种高可用性解决方案,通过将多台服务器连接在一起,形成一个共享资源池,确保在单台服务器故障时,服务仍能持续运行,从而提高系统的稳定性和可靠性。...

    Apache+Tomcat服务器集群配置详细步骤

    ### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户需求的日益增长,单一服务器往往难以满足高性能、高可靠性的要求。为了应对这一挑战,通常采用Apache+...

    Apache2.2+JBOSS 5 集群配置

    Apache2.2+JBOSS 5 集群配置主要涉及在Linux环境下构建高可用性和负载均衡的服务器集群,以提升应用服务的稳定性和处理能力。以下是详细的知识点: 1. **JBoss集群架构**: JBoss 集群可以采用两种架构:客户端...

    tomcat集群配置

    【标题】:“Tomcat集群配置” 在Web应用的高可用性和可扩展性需求日益增长的今天,Tomcat集群成为了一个重要的解决方案。Tomcat集群能够通过负载均衡和故障转移来提高服务的稳定性和性能。以下是对Tomcat集群配置...

    FastDFS集群配置文件

    首先,我们来看标题中的“FastDFS集群配置文件”。一个FastDFS集群通常包括Tracker服务器和Storage服务器。Tracker服务器负责调度任务,Storage服务器则负责数据存储。集群的搭建和配置涉及到多个文件,包括`mod_...

    kafka集群配置文件

    在这里,我们将深入探讨`kafka集群配置文件`以及它们与`zookeeper集群`的关系。 **1. Kafka集群配置** Kafka集群由多个服务器(称为Brokers)组成,每个Broker都存储一部分主题的数据。为了设置一个Kafka集群,我们...

    hadoop2.6集群配置

    ### Hadoop 2.6 集群配置详解 #### 一、环境配置 ##### 1.1 服务器环境 1. **IP地址配置**:根据实际情况为每台服务器分配唯一的IP地址,例如: - hadoop140 的 IP 地址为 192.168.50.140 - hadoop141 的 IP ...

    WebLogic集群配置和负载均衡的实现

    WebLogic集群配置和负载均衡的实现

    Kafka、Zookeeper集群配置

    **Kafka与Zookeeper集群配置详解** 在大数据处理和实时流计算领域,Apache Kafka和Apache Zookeeper是两个不可或缺的组件。Kafka作为一个高吞吐量的分布式消息系统,用于处理实时数据流,而Zookeeper则作为一个...

    zookeeper集群配置详解

    本篇详细阐述了从下载安装到集群配置的全过程。 首先,Zookeeper集群部署的前提条件是已经正确安装了Java环境,因为Zookeeper是用Java编写的,通过`java -version`命令可以查看当前Java版本。下载Zookeeper包可以...

    集群配置参数生成.zip

    "集群配置参数生成.zip" 文件集合提供了一个实用工具,旨在帮助管理员优化Hadoop集群的配置,特别是针对Hive、YARN和Container的参数设置。这个工具简化了通常需要手动完成的复杂配置过程,通过自动分析节点配置信息...

    Apache集群配置(proxy)

    "Apache集群配置(proxy)" 本文介绍了使用Apache反向代理配置集群,基于mod_proxy+Apache 2.2.16+Tomcat 7实现负载均衡与集群配置。 一、 背景简介 大多数企业应用都希望能做到7*24小时不间断运行。要保持如此高的...

    redis集群配置文件

    centos7的redis集群配置文件

Global site tag (gtag.js) - Google Analytics