WebLogic中的一些基本概念
WebLogic 中的基本概念
上週參加了單位組織的WebLogic培訓,為了便於自己記憶,培訓後,整理梳理了一些WebLogic的資料,會陸續的發出來,下面是一些基本概念。
Domain :
域是作為單元進行管理的一組相關的 WebLogic Server 資源。一個域包含一個或多個 WebLogic Server 例項,這些例項可以是群集例項、非群集例項,或者是群集與非群集例項的組合。一個域可以包含多個群集。域還包含部署在域中的應用程式元件、此域中的這些應用程式元件和伺服器例項所需的資源和服務。應用程式和伺服器例項使用的資源和服務示例包括計算機定義、可選網路通道、聯結器和啟動類。
Domain 中包含一個特殊的 WebLogic 伺服器例項,叫做 Administration Server,這是我們配置、管理Domain中所有資源的核心。通常,我們稱加入Domain中的其他例項為 Managed Server,所有的Web應用、EJB、Web Services和其他資源都部署在這些伺服器上。
我們可以按照以下的一些標準來組織Domain:程式的邏輯劃分,例如一個電商網站,可以將前臺作為一個Domain,訂單處理作為一個Domain,其他資源作為一個Domain;以物理地域為劃分,例如一個跨國公司的網站,每個國家可以建立一個Domain;以尺寸來劃分。
Administration Server :
管理伺服器是控制整個域配置的中心操作節點,管理伺服器維護著整個域 Domain 的配置並將配置分配到每個被管理伺服器 Managed Server 中,每個域中都必須有一個Administration Server。我們可以通過三個渠道訪問管理伺服器:Admin Server console、Oracle WebLogic Scripting Tool WLST、JMX客戶端(通過WebLogic提供的API來實現),最後我們還可以通過SNMP協議來監控Admin Server的狀態。
Admin Server 如果掛了,對於Domain中的Managed Server不會產生影響,如果配置了叢集,對於負載均衡和Failover機制也不會產生影響,因為這些都是基於配置檔案的(config.xml),而不依賴與Admin Server的例項。Admin Server 不必時刻執行,當我們需要修改配置或者部署應用時,把Admin Server執行起來就行。
Managed Server :
被管理伺服器是一個WebLogic Server的例項,他從Admin Server那裡獲取配置資訊。通常在Managed Server上部署自己的服務、元件或應用。基於效能考慮,Managed Server維護著一份只讀的域配置檔案,當服務啟動的時候,會從Admin Server上同步配置檔案資訊,如果配置檔案發生了改變,Admin Server也會將改變推送到Managed Server上。
Machine :
Machine 是指執行WebLogic Server例項的物理機器,通常與部屬在其上的Managed Server相關連。Machine用於Node Manager(一個執行在物理伺服器上的程式,可以遠端重啟Admin 和 Managed Server)重啟失敗的Managed Server,以及為叢集的Managed Servers選擇合適的Session存放位置(Session避免存放在同一臺Machine上)。
Node Manager:
執行在物理伺服器上的一個程式,用來遠端執行Admin Server 和 Managed Server的啟動 Start、停止 Stop、掛起 Suspend、重啟 Restart 操作。該程式與Domain並不關聯但是與Machine相關連,如果你想在Admin Console 中對Server進行控制,則必須安裝Node Manager。Node Manager 提供了Java-based和Script-based兩個版本,實現的功能一樣。
Cluster :
叢集是一組WebLogic Server的組合,叢集是為了滿足服務的高可用(High Avilability)以及可擴充套件(Load Balancing)需求而出現的。需要注意的是,叢集中的WebLogic Server必須版本號一致。Cluster需要注意的幾個問題:不能夠跨Domain、Cluster中的伺服器必須在同一個域中、Domain中可以有多個Cluster。
J2EE Standard :
J2EE框架中的其他內容:JDBC、JNDI、JTA、JMS、JAAS、JMX、RMI-IIOP等。
Java Servlets and JavaServer Pages:
Servlet 是一個在伺服器容器內執行的單獨執行緒,JSP檔案最終也會被編譯成 Servlet,所以 Servlet 是JAVA程式設計中的一個非常重要的概念。