### Weblogic及其由來和歷史
Weblogic是Oracle公司的Java應用服務器。可以用來集成和部署大型分布式Web應用、網絡應用和數據庫應用。
Weblogic最早由Weblogic公司開發,后來被BEA公司并入,所以早期Weblogic安裝及界面有bea的元素。BEA被Oracle收購之后,成為Oracle公司的Oracle數據庫之外的另外一個重量級的產品。
因其廣受歡迎及優勢,在其之上延伸了很多其他的企業中間件,比如Weblogic Portal, WebLogic Integration等,Oracle遂以Fusion Middleware (融合中間件)的字眼來命名。
### Weblogic與Tomcat等的優劣
Weblogic屬于商業J2EE應用服務器,同類的產品有:
- IBM公司的Websphere
- 原Sun公司(現已被Oracle收購)的Glassfish,resin。Glassfish可以看出是官方的服務器,是首個實現Java EE 6規范的應用服務器。
- Red Hat的WildFly(也就是JBoss)
- Apache組織的Tomcat
**從費用上來看**,Weblogic和Websphere都是商業服務器,是收費的,Glassfish最早是免費,被Oracle收購后,也不是完全的開源免費了,但是提供社區開源版本,比如Payara即源自Glassfish開源版。WildFly和Tomcat都是完全的開源免費。
**從適用度來看**,收費的服務總歸有其收費的道理。Weblogic、Websphere、Glassfish以及JBoss都屬于J2EE應用服務器,屬重量級框架,Tomcat只能算是JSP/Servlet容器,相對輕量級。一般的Java Web應用適用Tomcat即可,分布式或是大型的Web應用則選擇Weblogic為宜。
**從市場占有份額來看,** tomcat占據了Java Web服務器的半壁江山,主要原因就是其簡單,可以廣泛適用在一般的Java Web應用。對于大型分布式的Web應用,數據源、JMS等由服務器管理,選項也較多,開源免費的占有額稍微居高。以下是擷取的一個占有額的圖。

### WebLogic重要概念
WebLogic的重要概念就是在管理控制臺可以看到的概念,主要包括計算機、域、服務器、集群等,如下圖示:
#### 計算機(Machine):
計算機代表的就是實際的機器,
- 如果使用單服務器,則基本可以忽略這個概念。
- 在集群架構中,托管服務器可以位于不同的機器中,默認機器之間使用SSL協議進行通訊。
#### 域(Domain)
域是一個邏輯概念,是Weblogic管理的基本單元, 包括一個Administration server和一個或多個Managed Servers。
#### 管理服務器(Administration Server)
負責Domain的管理,一般不管理應用(除非只配置該服務器),管理服務器可以通過管理控制臺進行管理,可以管理的包括:
-域分區管理
-環境: 主要是計算機、服務器和集群等管理
-部署: 應用的部署
-服務:主要是數據源、消息以及郵件等管理。
-安全和日志等配置
在Windows下使用 startWebLogic.cmd 批處理啟動。
#### 托管服務器(Managed Server)
也稱受管服務器,主要用來部署Web應用。
-在同一機器中, 可以配置不多端口的多個托管服務器。
-也可以將托管服務器放在不同的機器中,通過管理服務器進行管理。
#### 節點管理器(Node Manager)
節點管理器是相對底層的概念,功能是啟動之后建立與管理服務器的連接。在Windows下使用 startNodeManager.cmd批處理啟動。
### 概念間的關系
域、計算機和管理服務器的結構關系
- 一個域下可以有一臺或多臺計算機
- 一個域有且只有一個Administration server,用來修改配置和部署應用。
- 一個域下可以沒有受管服務器
- 一個管理服務器可以管理一個或多個受管服務器
關系如圖:

管理服務器負責管理對Domain進行管理,
托管服務器啟動前需要需要先啟動管理服務器。
但在兩者都啟動后,關閉管理服務器之后,托管服務器依舊可以運作,也就是應用還可以正常訪問,只是無法連接控制臺進行部署更新和配置等。
### 集群(Cluster)
集群是多個Managed Server的集合。

集群可以用來做HA和負載均衡。一般會增加一個代理服務,結構類似:

以上部分會在下一篇進行介紹和演示。
### 實際服務架構選擇
在實戰中,Weblogic的服務架構可以參考如下:
1. 開發或是學習,只需要一臺機器,配置管理服務器即可, 應用部署在管理服務器上, 默認端口 7001, 也就是:
管理控制臺的地址是: http://localhost:7001/console
應用部署后的地址(比如應用名myapp)http://localhost:7001/myapp
2. 一般正式應用,一臺機器,一個域,一個管理服務器,一個受管服務器 。管理服務器負責配置以及對受管服務器等進行管理, 受管服務器部署應用。
3. 大型應用,多臺機器,一個域,一個管理服務器,多個受管服務器。沒有Session共享的狀況,允許多個地址進行訪問(包括僅端口不同),新增多個受管服務器。
但是常見的狀況是通過統一的地址訪問應用,而且由Session共享的需求,這種狀況需要配置集群。
不集群雖然也可以適用L4 Switch等進行請求的負載均衡,但使用Weblogic的自身負載均衡是較為簡單的方式。
*****
*****
- 1. WebLogic及其重要概念
- 2. Windows下Weblogic 12c單機安裝與部署
- 3. Linux下WebLogic 12c啟動、部署命令行
- 4. Windows單機之Weblogic 12c受管服務器配置
- 5. Weblogic負載均衡/Session復制之集群架構
- 6. Weblogic負載均衡/Session復制之集群架構續
- 7. WebLogic 12c的運行目錄結構
- 8. WebLogic 12c JVM 內存調整
- Windows 下調整Weblogic 12C的JVM內存
- Linux 下調整WebLogic 12C 的JVM內存
- 9. 應用部署
- 10. 虛擬主機
- 11. 應用部署在WebLogic中Basic認證無法運行問題及解決
- 12. WebLogic 12c 中壓縮傳輸的配置
- 13. Weblogic中如何實現自動轉向系統維護頁面
- 應用部署篇
- WebLogic應用部署之配置不需要應用名直接訪問(配置默認應用)
- WebLogic中如何設置Spring Boot項目的屬性
- Session超時配置
- WebLogic命令行遠程部署
- 常用操作篇
- Linux 下命令行啟動與關閉WebLogic的相關服務
- Linux 下查看WebLogic 的進程與服務的對應
- Linux下如何查看WebLogic的版本
- Linux 下自動化重啟服務器
- 如何啟動配置向導
- Windows下命令行啟動與關閉WebLogic的相關服務
- 常用配置篇
- WebLogic 12c 配置 https
- weblogic.xml 的配置元素
- WebLogic 12C支持Basic認證
- 問題解決篇
- WebLogic 之 java.lang.OutOfMemoryError: GC overhead limit exceeded
- T3 之User failed to be authenticated.
- User xx in security realm myrealm has had 5 invalid login attempts, locking account for 30 minutes.