1、基本概念總結
a. 什么是Domain和Server
??? Domain是WebLogic Server實例的基本管理單元。所謂Domain就是,由配置為Administrator Server的WebLogic Server實例管理的邏輯單元,這個單元是有所有相關資源的集合。
??? Server是一個相對獨立的,為實現某些特定功能而結合在一起的單元。
b. Domain and Server的關系
一個Domain 可以包含一個或多個WebLogic Server實例,甚至是Server集群。一個Domain中有一個且只能有一個Server 擔任管理Server的功能,其它的Server具體實現一個特定的邏輯功能。
c. WebLogic集群的體系結構
?? 1. 單層混合型的集群架構
??? 這種架構將所有的Web應用以及相關的服務應用全部置于集群中的單一WLS實例中,這種架構的優勢在于:
?? >> 易于管理
?? >> 靈活的負載平衡機制
?? >> 更強的安全控制
?? 2. 多層結構的集群架構
??? 這種架構使用兩個WLS集群,一個放置表靜態內容和集群Servlet,另一個放置集群EJB。一般應用于下面這些情況:
?? >> 在負載平衡機制需要調用集群EJB中的方法時;
?? >> 在提供內容與提供對象的服務之間需要更大的機動性時;
?? >> 在需要更高的系統穩定性時;
d. 配置集群應用的必要條件
?? 1. 集群中的所有Server必須位于同一網段,并且必須是IP廣播(UDP)可到達的
?? 2. 集群中的所有Server必須使用相同的版本,包括Service Pack
?? 3. 集群中的Server必須使用永久的靜態IP地址。動態IP地址分配不能用于集群環境。如果服務器位于防火墻后面,而客戶機位于防火墻外面,那么服務器必須有公共的靜態IP地址,只有這樣,客戶端才能訪問服務器
?? 4. 要以CLUSTER方式運行,必須有包含CLUSTER許可的LICENSE才行.
2、集群配置總結
a. 配置集群可以在新建域(Domain)的時候進行,也可以在一個現有的域的基礎上進行
b. 在沒有集群的環境下,新建一個域時可以將管理服務器(Admin Server)作為事務處理服務器使用,否則管理服務器應該指向集群的Admin Server所在的機器。
c. 啟動Managed Server的方法有兩種,一種是以命令行的方式,即: startManagedWebLoigc managedserver http://adminserver_address/;第二種是在WebLogic管理控制臺中啟動此時必須先啟動NodeManager,并且在一臺機器上的多個Server只需要啟一個 NodeManager實例。兩種啟動方式下Weblogic的后臺輸出是不一樣的,前者輸出到控制臺窗口,后者輸出到ModeManager目錄下的日志文件中,一個Server一個日志文件。
d. 必須通過HttpClusterServlet實現集群的自動請求轉發,也就是說必須創建一個Server作為代理服務器(proxy Server)。
?? 在代理服務器上部署缺省的Web應用,該應用的WEB-INF目錄包括下兩個文件,其中web.xml內容如下:
?<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "?<web-app id="WebApp_ID">
???? <display-name>NJGS Web Application</display-name>
????
???? <servlet>
????? <servlet-name>HttpClusterServlet</servlet-name>
????? <servlet-class>
??????????? weblogic.servlet.proxy.HttpClusterServlet
????? </servlet-class>
????? <init-param>
????????? <param-name>WebLogicCluster</param-name>
????????? <param-value>
??????????? localhost:7011|localhost:7012|localhost:7013
????????? </param-value>
????? </init-param>
?????
????? <init-param>
????<param-name>DebugConfigInfo</param-name>
????<param-value>ON</param-value>
????? </init-param>
???? </servlet>
????
???? <servlet-mapping>
?????? <servlet-name>HttpClusterServlet</servlet-name>
?????? <url-pattern>/</url-pattern>
???? </servlet-mapping>
????
????? <servlet-mapping>
?????? <servlet-name>HttpClusterServlet</servlet-name>
?????? <url-pattern>*.jsp</url-pattern>
???? </servlet-mapping>
????
????
???? <servlet-mapping>
?????? <servlet-name>HttpClusterServlet</servlet-name>
?????? <url-pattern>*.html</url-pattern>
???? </servlet-mapping>
????
????? <servlet-mapping>
?????? <servlet-name>HttpClusterServlet</servlet-name>
?????? <url-pattern>*.htm</url-pattern>
???? </servlet-mapping>
??
</web-app>
?
?? weblogic.xml文件的內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "<weblogic-web-app>
?<context-root>/</context-root>
</weblogic-web-app>
注意上述context-root的內容必須為 /
e. Web應用向集群上部署時,必須選擇部署到整個集群或者集群中的某些服務器,Http請求的轉發由代理服務器自動處理。
f. 可以寫個簡單的頁面,并且用JMeter模擬上百個請求同時訪問該頁面以 測試集群功能。請求的格式為 http://proxyserver_address/應用名/測試jps頁面
E:\bea\user_projects\domains\mydomain>startmanagedweblogic managed2 http://IP:7001
cd
startweblogic
startmanagedweblogic managed2 http://IP:7001