|
1、基本概念總結(jié)
a. 什么是Domain和Server
??? Domain是WebLogic Server實(shí)例的基本管理單元。所謂Domain就是,由配置為Administrator Server的WebLogic Server實(shí)例管理的邏輯單元,這個(gè)單元是有所有相關(guān)資源的集合。
??? Server是一個(gè)相對(duì)獨(dú)立的,為實(shí)現(xiàn)某些特定功能而結(jié)合在一起的單元。
b. Domain and Server的關(guān)系
一個(gè)Domain 可以包含一個(gè)或多個(gè)WebLogic Server實(shí)例,甚至是Server集群。一個(gè)Domain中有一個(gè)且只能有一個(gè)Server 擔(dān)任管理Server的功能,其它的Server具體實(shí)現(xiàn)一個(gè)特定的邏輯功能。
c. WebLogic集群的體系結(jié)構(gòu)
?? 1. 單層混合型的集群架構(gòu)
??? 這種架構(gòu)將所有的Web應(yīng)用以及相關(guān)的服務(wù)應(yīng)用全部置于集群中的單一WLS實(shí)例中,這種架構(gòu)的優(yōu)勢(shì)在于:
?? >> 易于管理
?? >> 靈活的負(fù)載平衡機(jī)制
?? >> 更強(qiáng)的安全控制
?? 2. 多層結(jié)構(gòu)的集群架構(gòu)
??? 這種架構(gòu)使用兩個(gè)WLS集群,一個(gè)放置表靜態(tài)內(nèi)容和集群Servlet,另一個(gè)放置集群EJB。一般應(yīng)用于下面這些情況:
?? >> 在負(fù)載平衡機(jī)制需要調(diào)用集群EJB中的方法時(shí);
?? >> 在提供內(nèi)容與提供對(duì)象的服務(wù)之間需要更大的機(jī)動(dòng)性時(shí);
?? >> 在需要更高的系統(tǒng)穩(wěn)定性時(shí);
d. 配置集群應(yīng)用的必要條件
?? 1. 集群中的所有Server必須位于同一網(wǎng)段,并且必須是IP廣播(UDP)可到達(dá)的
?? 2. 集群中的所有Server必須使用相同的版本,包括Service Pack
?? 3. 集群中的Server必須使用永久的靜態(tài)IP地址。動(dòng)態(tài)IP地址分配不能用于集群環(huán)境。如果服務(wù)器位于防火墻后面,而客戶機(jī)位于防火墻外面,那么服務(wù)器必須有公共的靜態(tài)IP地址,只有這樣,客戶端才能訪問(wèn)服務(wù)器
?? 4. 要以CLUSTER方式運(yùn)行,必須有包含CLUSTER許可的LICENSE才行.
2、集群配置總結(jié)
a. 配置集群可以在新建域(Domain)的時(shí)候進(jìn)行,也可以在一個(gè)現(xiàn)有的域的基礎(chǔ)上進(jìn)行
b. 在沒(méi)有集群的環(huán)境下,新建一個(gè)域時(shí)可以將管理服務(wù)器(Admin Server)作為事務(wù)處理服務(wù)器使用,否則管理服務(wù)器應(yīng)該指向集群的Admin Server所在的機(jī)器。
c. 啟動(dòng)Managed Server的方法有兩種,一種是以命令行的方式,即: startManagedWebLoigc managedserver http://adminserver_address/;第二種是在WebLogic管理控制臺(tái)中啟動(dòng)此時(shí)必須先啟動(dòng)NodeManager,并且在一臺(tái)機(jī)器上的多個(gè)Server只需要啟一個(gè) NodeManager實(shí)例。兩種啟動(dòng)方式下Weblogic的后臺(tái)輸出是不一樣的,前者輸出到控制臺(tái)窗口,后者輸出到ModeManager目錄下的日志文件中,一個(gè)Server一個(gè)日志文件。
d. 必須通過(guò)HttpClusterServlet實(shí)現(xiàn)集群的自動(dòng)請(qǐng)求轉(zhuǎn)發(fā),也就是說(shuō)必須創(chuàng)建一個(gè)Server作為代理服務(wù)器(proxy Server)。
?? 在代理服務(wù)器上部署缺省的Web應(yīng)用,該應(yīng)用的WEB-INF目錄包括下兩個(gè)文件,其中web.xml內(nèi)容如下:
?<?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文件的內(nèi)容如下:
<?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的內(nèi)容必須為 /
e. Web應(yīng)用向集群上部署時(shí),必須選擇部署到整個(gè)集群或者集群中的某些服務(wù)器,Http請(qǐng)求的轉(zhuǎn)發(fā)由代理服務(wù)器自動(dòng)處理。
f. 可以寫個(gè)簡(jiǎn)單的頁(yè)面,并且用JMeter模擬上百個(gè)請(qǐng)求同時(shí)訪問(wèn)該頁(yè)面以 測(cè)試集群功能。請(qǐng)求的格式為 http://proxyserver_address/應(yīng)用名/測(cè)試jps頁(yè)面
E:\bea\user_projects\domains\mydomain>startmanagedweblogic managed2 http://IP:7001
cd
startweblogic
startmanagedweblogic managed2 http://IP:7001