1、概述
EOS本身不提供負載均衡、流量控制、過負載控制的處理,主要依靠於J2EE服務器和網絡硬件設備來完成。本文根據普元公司的經驗,主要論述對WebLogic Server負載均衡的考慮。
2、負載均衡
a)負載均衡方式
通過配置WebLogic Server集群(Cluster)可以實現負載均衡、失敗轉移功能。WebLogic Server可以對 Web應用、EJB/RMI、JDBC連接、JMS進行集群處理,建議在 Web應用層實現集群,JMS、EJB不進行集群處理,這樣部署形式比較簡單,易於治理,性能也比較高。JDBC連接的集群需要根據數據服務的要求,一般來說需要實現。
集群拓撲圖:
·新手入門:Java數據庫基本操作指南
·定義Service4JMX2組件 簡單擴展MX4j
·利用JavaBeans在應用程序中創建組件
·毫無意義的Java基礎類惡作劇
·開發狂想曲:如何在開源Java下生存
·WebWork的強大的驗證器
·java 類型提升的約定
·簡單的字符轉換和反轉換函數
·配制Spring事務和JdbcTemplate使用
·如何使用Java中的Date和Calendar類
Web層集群需要一台 Http Serverl 做代理,將負載分配到集群中所有的實例,實現負載均衡。可以使用專門的硬件,可以利用WebLogic Server完成,也可以使用Apache + WebLogic proxy,建議采用Apache + WebLogic proxy的方式,這樣對硬件的要求比較小,情能相對會好一些。
為提高性能,也可以將一些靜態的內容部署到 Apache Server,主要是Html和圖片等
WebLogic集群需要一台Server作為 Managel Server,建議這台Server不處理請求,專門做治理。
WebLogic 集群中Server之間通過l Scoket通訊,建議集群的所有Server位於同一網段中。
b)失敗轉移與Session復制
WebLogic Server通過 Session 復制在失敗轉移的時候保存用戶數據,默認支持3種復制方式,In Memory、Database、File,建議采用 In Memory的方式。
c)負載均衡算法
WebLogic Server的負載均衡算法目前主要有:
Round-robin、Weight-base、Random、Parameter-based routing
Round-robin是默認算法,可以根據需要調整
3、EOS配置
基於EOS 開發的產品需要以同樣的方式部署到 WebLogic 集群的每個實例上,建議每個實例的環境配置,文件路徑相同,以便於治理。
對開發資源進行熱更新和部署的時候,需要通過EOS Console對每台實例進行部署。
EOS為提高性能,會對一些數據進行緩存。在Cluster環境下,需要在緩存更新的時候,通知其他Seever。因此需要在 eosconfig.XML 中添加配置,例如:
<module name="cluster">多台Server IP地址以 分號 分割,EOS Server根據這裡的配置進行通知。