• 搭建高性能Jboss负载均衡集群


    版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/a1314517love/article/details/26836357

    负载均衡集群是由两台或者两台以上的server组成。

    分为前端负载调度和后端服务两个部分。负载调度部分负载把client的请求依照不同的策略分配给后端服务节点,而后端节点是真正提供营养程序服务的部分。

    与双机热备不同的是,负载均衡集群中,全部的后端节点都处于活动动态。它们都对外提供服务,分摊系统的工作负载。

    负载均衡集群能够把一个高负荷的应用分散到多个节点共同完毕,适用于业务繁忙、大负荷訪问的应用系统。负载均衡集群的一大长处除了将大负荷进行分摊解决性能问题之外,他还有极强的出错互补机制,每个提供服务的节点在出现故障之后宕机之后,调度系统都会自己主动将这台宕机机器剔除,当该节点又一次启动恢复功能之后。调度系统又会将其增加到集群中。而这一切。对用户来说是全然透明的。下图显示的就是负载均衡集群的基本结构。


    说完集群的基本原理和结构之后我们来搭建一个JBoss集群,主要分为下面几个步骤:

    一、      准备所需组件:

    a)    Apacheserver。我选用的是apache_2.2.3-win32-x86-no_ssl.msi

    b)    mod_jk-apache-2.2.3.so文件。

    该文件的作用是起分发作用

    c)    JBossserver。我用的JBossserver是JBOSS 5.1.0GA

    二、      安装安装server。

    a)    安装Apacheserver(建议选非系统盘)。安装好后将下载好的mod_jk-apache-2.2.3.so文件拷贝到%APACH_HOME%/modules目录下。

    b)    安装JBoss比較简单,直接将压缩包解压至对应的安装位置就可以。

    三、      改动相关配置文件。

    a)    在Apache安装路径下找到conf目录。在该目录中找到httpd.conf文件,在该文件的最后位置增加Include conf/mod_jk.conf。

    b)    在conf目录下新建mod_jk.conf文件,内容例如以下:

        LoadModule jk_module modules/mod_jk-apache-2.2.3.so
        # Where to find workers.properties
        JkWorkersFile conf/workers.properties
    
        # where to find the log file
        JkLogFile logs/mod_jk.log
        # set the log level  set the log level
        JkLogLevel info    
        # map to the status server
        JkMount /private/admin/mystatus mystatus
        # router the request to the right host
        JkMount /* balance

        (c)相同是在conf目录中新建workers.properties文件,文件内容为:

        # define list of workers that will be used
        # for mapping requests
        worker.list=balance,mystatus
    
        # Define Node1
        worker.node1.port=11009
        worker.node1.host=192.168.24.246
        worker.node1.type=ajp13
        worker.node1.lbfactor=1
        worker.node1.socket_timeout=30
        worker.node1.socket_keepalive=1
    
        # Define Node2
        worker.node2.port=12009
        worker.node2.host=192.168.24.247
        worker.node2.type=ajp13
        worker.node2.lbfactor=1
        worker.node2.socket_timeout=30
        worker.node2.socket_keepalive=1
    
        # Define Node3
        worker.node3.port=13009
        worker.node3.host=192.168.24.245
        worker.node3.type=ajp13
        worker.node3.lbfactor=1
        worker.node3.socket_timeout=30
        worker.node3.socket_keepalive=1
    
        # Load-balancing behaviour
        worker.balance.type=lb
        worker.balance.balance_workers=node1,node2,node3
        worker.balance.sticky_session=1
    
        # Status worker for managing load balancer
        worker.mystatus.type=status
    

    该文件用于定义server节点,在该文件里我定义了三个节点。node1,node2,node3,也就意味着在我的jboss集群中有三台jbossserver对外提供服       务。如上内容中host表示jbossserver所在的电脑的IP,port为jbossserverAJP所监听的端口号。lbfactor表示该server节点在该集群中的权重,该值越大,Apacheserver将请求分发至该台JBoss上的几率越大。

    e)在部署Web应用时。须要在应用程序的web.xml中增加<distributable/>节点,例如以下所看到的:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <display-name>Welcome to JBoss</display-name>
        <description>
            Welcome to JBoss
        </description>
        <distributable/>
    
    </web-app>
    

    至此Apacheserver和各Jboss节点server配置完毕,顺序启动Apache和各个Jboss节点。在浏览器中输入http://192.168.24.245:8011/aaa.war进行訪问,我们能够看到自定义的訪问页面(各Jboss节点中部署的aaa.war包中的index.jsp页面里的内容不一样来做区分),进行刷新能够看到Apache在不断的进行切换。



        


  • 相关阅读:
    KnockOut循环绑定
    json数组排序
    1,滑动验证,前后台接口
    写个js程序咖常写的游戏-贪吃蛇
    ionic的路由配置及参数传递
    基于jq, jquery.easie.js 开发面向对象通栏焦点图组件
    面向对象开发弹窗组件
    基于jquery开发的选项卡
    JavaScript多线程 html5 Worker, SharedWorker
    gulp常用任务
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/9982591.html
Copyright © 2020-2023  润新知