WAS ND6.1 集羣配置嚮導-之三

Websphere Application Server Network Deployment version 6.1 Cluster Guide - 3/3

by maj 21/8.08

COPYLEFT BY MAZHE([email protected])


附2:自定義LoadBalancer
1.編寫自定義LoadBalancer代碼
可以使用servlet書寫負載分發邏輯,選擇好要分發的服務器後可以使用response.sendRedirect(url)
該LoadBalancer應用的上下文要和webserver中的被訪問應用一致(待研究)

2.修改webserver的plugin配置
要修改的配置文件地址:
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/Cell01/nodes/Node01/servers/webserver1/plugin-cfg.xml

原始配置:
   <VirtualHostGroup Name="default_host">
      <VirtualHost Name="*:80"/>
      <VirtualHost Name="*:9443"/>
      <VirtualHost Name="*:9081"/>
   </VirtualHostGroup>
  
   <ServerCluster LoadBalance="Round Robin" Name="testCluster">
      <Server CloneID="11111" LoadBalanceWeight="2" Name="Node01_app01">
         <Transport Hostname="APPHOST01" Port="9081" Protocol="http"/>
         <Transport Hostname="APPHOST01" Port="9444" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
      <Server CloneID="22222" LoadBalanceWeight="2" Name="Node02_app02">
         <Transport Hostname="APPHOST02" Port="9083" Protocol="http"/>
         <Transport Hostname="APPHOST02" Port="9446" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
      <Server CloneID="33333" LoadBalanceWeight="2" Name="Node03_app03">
         <Transport Hostname="APPHOST02" Port="9081" Protocol="http"/>
         <Transport Hostname="APPHOST02" Port="9444" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>

      <PrimaryServers>
         <Server Name="Node01_app01"/>
         <Server Name="Node02_app02"/>
         <Server Name="Node03_app03"/>
      </PrimaryServers>
   </ServerCluster>
上面配置文件中一些不很重要的屬性被省略掉了,
將配置文件改爲:
  <VirtualHostGroup Name="default_host">
      <VirtualHost Name="*:80"/>
      <VirtualHost Name="*:9443"/>
      <VirtualHost Name="*:9081"/>
      <VirtualHost Name="*:8088"/>
   </VirtualHostGroup>
   <ServerCluster LoadBalance="Round Robin" Name="testCluster">
      <ClusterAddress Name="MyLoadBalancer">
         <Transport Hostname="192.168.0.6" Port="8088" Protocol="http"/>
      </ClusterAddress>
      <Server CloneID="11111" LoadBalanceWeight="2" Name="Node01_app01">
         <Transport Hostname="APPHOST01" Port="9081" Protocol="http"/>
         <Transport Hostname="APPHOST01" Port="9444" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
      <Server CloneID="22222" LoadBalanceWeight="2" Name="Node02_app02">
         <Transport Hostname="APPHOST02" Port="9083" Protocol="http"/>
         <Transport Hostname="APPHOST02" Port="9446" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
      <Server CloneID="33333" LoadBalanceWeight="2" Name="Node03_app03">
         <Transport Hostname="APPHOST02" Port="9081" Protocol="http"/>
         <Transport Hostname="APPHOST02" Port="9444" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="MyLoadBalancer"/>
      </PrimaryServers>
   </ServerCluster>

主要添加了名爲MyLoadBalancer的ClusterAddress,這個自定義LoadBalancer的地址爲192.168.0.6,端口爲8088,要指定PrimaryServers中爲主要添加了名爲MyLoadBalancer的ClusterAddress,並在 VirtualHostGroup中添加一個端口.
  
2.webserver傳播插件
點選webserver1並進行插件的傳播.

3.完成自定義LoadBalancer
進行訪問測試

 

原發於 http://blog.sina.com.cn/mazhe219

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章