weblogic中介軟體軟體上線標準化部署
上週介紹了《weblogic標準化部署大綱》,下面詳細介紹我們在實際生產環境中如何進行weblogic中介軟體應用部署標準規範。
一、版本選型
1.1 基礎版本
因原廠已經不提供Weblogic中介軟體10.3.5版本(包括)及之前版本的Premier Support,且10.3.5版本Extended Support將於2013年8月過期,為確保weblogic中介軟體的安全及穩定執行,所有新申請weblogic中介軟體軟體版本必須安裝10.3.6或12.2.1.2.0版本。
(a)、WLS 10.3.6是WLS 11g的Terminal Patch Set版本。 根據終身支援政策檔案中規定的總支援期(2018年12月)和擴充套件支援期(2021年12月)的結束,將根據WLS Premier支援的客戶支援合同提供錯誤更正或擴充套件支援。
(a)錯誤修正結束由隨後的Patch Set釋放來確定,以設定寬限期的開始。 沒有隨後的Patch Set版本,此版本根據終身支援策略文件的Premier和Extended支援日期具有錯誤更正支援。
1.2 補丁版本
為了確保Weblogic版本效能穩定,必須將weblogic對應版本PSU補丁升級到一個月內的版本,就是為了遮蔽當前版本存在BUG隱患。
1. Weblogic10.3.6.0最新PSU補丁:
2. Weblogic 12.2.1.2.0 最新PSU補丁:
注:常見的SSRF漏洞和JAVA反序列化漏洞打上最新補丁就已經修復。
1.3 JDK版本
安裝Weblogic軟體時必須安裝對應的JDK軟體,才能正常執行。對於JDK版本的選擇,選擇官方建議的大版本號,同時儘量保證小版本最新。如下所示:
備註:Oracle提供的JDK不適用於AIX、HP-UX作業系統,需到IBM和HP官網下載對應版本的JDK。
二、安裝規範
2.1 OS資源規範
作業系統資源規範要求應該注意以下幾點:
1. Weblogic執行的作業系統版本為RedHat7.3 x86_64。
2. Hosts配置,要求主機的hosts檔案配置主機名與IP的對應關係。
3. 磁碟空間規範,要求單獨分配一個新的檔案系統給weblogic軟體,同時至少預留40G空間。
4. 記憶體使用規範,中介軟體節點記憶體分類區間在4G-8G,因此分配作業系統記憶體至少在16G以上。
2.2 使用者與目錄規範
1. Weblogic的服務必須使用非root使用者來啟動與管理。
2. weblogic軟體必須安裝到指定到規劃檔案系統路徑下面(該目錄歸屬為非root使用者,許可權為740)。
3. 嚴禁將不同版本的WebLogic軟體安裝在同一目錄下。
4. 軟體安裝模式必須是完全模式。
2.3 執行模式選擇
Weblogic有兩種執行模式:開發模式和生產模式。必須合理選擇Weblogic執行模式,以提升weblogic健壯性和穩定性。 開發系統推薦使用開發模式,生產系統推薦使用生產模式。
三、weblogic域配置
1. 域名命名規範,domain名稱必須簡單明瞭貼近應用系統名稱,且名稱長度不能超過16字元。格式為:應用程式名_domain。
2. 域名應以大功能模組作為劃分標準,域下面再建立不同的應用伺服器部署不同的、關聯性較強的應用模組。
3.1 叢集配置
1. 叢集命名規範:叢集名稱必須簡單明瞭貼近域名稱,且名稱長度不能超過16字元。格式:域名_Cluster。
2. 配置叢集時多播地址和埠,避免監聽地址問題,可以使用 IP 地址或 DNS名稱指定地址資訊。同時多播地址的使用必須與主機側進行核實、管理,避免重複。
3. 標識要專用於叢集的多播通訊的地址和埠。多播地址是介於 224.0.0.0 和 239.255.255.255 之間的 IP 地址。WebLogic使用的預設多播值是 239.192.0.0。不應使用任何值為 x.0.0.1 的多播地址。
3.2 伺服器配置
為了確保WebLogic環境中的每個可配置資源都具有唯一名稱。每個域、伺服器、計算機、叢集、JDBC 資料來源、虛擬主機或其他資源都必須具有唯一名稱。
1. 管理伺服器(AdminServer)配置要求
1) 管理伺服器必須使用預設命名:AdminServer;
2) 每一個域必須有一臺AdminServer;
3) 禁止在AdminServer上部署應用;
4) 管理伺服器必須配置在域的對外服務IP上;
5) 嚴禁使用預設埠7001作為管理節點的服務埠,安裝weblogic管理埠指定埠範圍在 [7100-7900]之間;
6) 管理賬戶密碼必須具備一定強度,禁止使用weblogic這種弱口令,要求密碼要有一定的複雜度。
2. 受管伺服器(ManagedServer)配置要求
1) 受管伺服器命名規範,要求字元長度在16位內,以應用名稱加下劃線”_”進行分隔;
2) 每個叢集節點埠做出埠範圍限定,第一個叢集節點服務埠指定在 [8001-9001]範圍, 第二個叢集節點服務埠指定在 [8101-9101]範圍,其它叢集節點服務埠往後類推。
3) 同一個cluster下受管伺服器,其JVM啟動引數必須一致,JVM啟動引數必須在啟動指令碼中進行設定,嚴禁在影響全域性環境變數配置檔案中進行配置。
3.3 資料來源配置
為了提高JDBC資料來源連線池效率問題, Oracle官方推出了GridLink資料來源,增強對RAC的支援,就是為了取代原先的多資料來源。以防資料庫RAC節點異常,中介軟體資料來源自動切換正常資料庫節點。
1、JDBC資料來源型別規範選擇:
1) 資料庫為單例項採用普通資料來源;
2) Oracle11g以下版本的RAC多例項資料庫採用多資料來源;
3) Oracle11g以上版本的RAC多例項資料庫採用GridLink資料來源,資料來源採用連線資料庫的地址統一用scan ip和service_name。
2、針對JDBC資料來源規範要求作出以下規範要求:
1) 資料來源名須設為應用程式名_datasource。
2) 資料來源JNDI名稱須設為應用程式名_datasource_JNDI,要為資料來源指定多個 JNDI 名,請在單獨的行上分別輸入每個 JNDI 名。
3) Cluster中每個節點資料來源,資料庫連線池配置屬性須保持一致
4) 採用Gridlink資料來源方式配置
3.4 JMS配置
對於每種資源型別(例如佇列、主題和連線工廠),JMS模組內的資源名稱必須是唯一的。但是,兩個不同的JMS模組可以擁有共享相同名稱的相同型別的資源。同樣,跨JMS模組的任何可繫結的JMS資源的JNDI名稱(排除配額、目標關鍵字和 JMS 模板)也必須是唯一的。
1. JMS模組名須設為 “應用程式名_JMS_Module”
2. JMS Server須設為“應用程式名_JMS_Server”
3. JMS連線工廠須設為“應用程式名_ CF”
4. JNDI Name須設為“應用程式名_ CF_JNDI”
5. JMS佇列須設為“應用程式名_ Queue”
6. JNDI Name須設為“應用程式名_ Queue_JNDI”
7. JMS主題須設為“應用程式名_ Topic”
8. JNDI Name須設為“應用程式名_ Topic _JNDI”
3.5 登入密碼加密配置
1. 新建WebLogic伺服器後要做免密碼啟動檔案,以便在後臺啟動指令碼時能正常啟動各個WebLogic節點。
2. 在每個WebLogic節點目錄下新建security目錄,在security目錄下新建boot.properties檔案,並將使用者和密碼寫入此檔案中,方便使用者密碼管控。
四、啟動指令碼規範
1. 對於不同型別的多使用者作業系統,需配置Weblogic後臺啟動指令碼,已增強使用安全性。
2. 啟動指令碼引數要求重定義JVM記憶體大小和服務埠變數,要求必須後臺啟動server;必須有輸出的server日誌。
3. 啟動指令碼中定義好heapdump和gc引數,方便後續系統出現故障對記憶體使用情況進行分析。
4. 服務啟動指令碼統一用定製化指令碼來啟動,不建議使用weblogic安裝後的指令碼來啟動服務。
5. 因為每個節點的配置要求可能存在差異,不建議設定成全域性變數,所以weblogic標準化裡面不設定“計算機”功能,統一透過後臺維護,控制檯僅提供部署、修改部分配置功能。
五、基線引數最佳化
weblogic服務執行正常的同時可以透過引數最佳化有助系統效能提升,所以需要針對weblogic相關的引數進行最佳化,以保障業務系統穩定執行。針對weblogic中介軟體存在幾個最佳化點,比如:JVM記憶體、本地I/0開啟、執行緒、資料來源、Accept BackLog和日誌檔案等。
5.1 記憶體最佳化
1) Heap堆大小:管理節點JVM記憶體限制在 1G-2G左右,被管理節點伺服器JVM記憶體限制在 4G-8G,其它情況需合理利用伺服器資源,至少預留1~2G本地記憶體給作業系統使用;
2) Perm區大小:通用場景設定512MB即可,對於大記憶體應用場景可適當調整為約佔整個heap的1/4大小。Permanent區用於載入類(class)的專門的記憶體區域,該引數僅針對Sun JDK和HP JDK。
注:在WebLogic中,為了獲得更好的效能,ORACLE官方推薦最小堆記憶體等於最大堆記憶體 。
5.2 本地IO
在能使用Native I/O的平臺上儘量 開啟本地原生I/O,此引數優勢是會使用Java執行緒進行網路操作會降低WLS效能。以下操作是如何去開啟原生I/0引數
5.3 執行緒池
為了提升系統業務併發,執行緒池的最佳化直接影響到了業務系統的併發上升空間和 weblogic 處理能力,因此應該合理的去分配服務的執行緒池大小,這裡提供兩種執行緒調優方式。
1. work managers執行緒自調優:
2. 手動執行緒調優
在startWeblogic.sh啟動指令碼中的JAVA_OPTIONS變數加入以下引數
-Dweblogic.threadpool.MinPoolSize=500 -Dweblogic.threadpool.MaxPoolSize=500
要求最小執行緒和最大執行緒大小要相等,為了降低申請執行緒資源的開銷,有助效能提升。
5.4 線上執行模式
生產交付的weblogic系統,要求將域啟動模式設定成生產模式,有助weblogic效能提高。請修改startWebLogic.sh指令碼中,將PRODUCTION_MODE變數的值更改為TRUE。
5.5 資料來源
為了提升資料來源的效能,保障業務能正常獲取資料來源中每個健康的連線,同時也能釋放出非活動連線提升主機的效能,以參考以下指標進行最佳化。
5.6 Accept Backlog
WebLogic使用Accept Backlog (TCP queue)引數規定WebLogic向系統請求的queue的大小, Accept Backlog屬性決定了在 waiting queue中最多可以有多少TCP連線等待處理,預設值為300。如果在許多client連線被拒絕,而在伺服器端沒有錯誤顯示,說明該值設得過低。可以適當增大acceptBacklog的值,每次增加25%
伺服器->配置->最佳化->接受積壓:
5.7 日誌引數
由於Weblogic安裝後預設的各節點日誌生成是不規範的,是無法滿足安全基線規範,為了適應廣西電網中介軟體安全基線要求,強化日誌輸出標準,請按以下引數標準設定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2738392/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Liunx(CentOS7)中介軟體Weblogic的安裝與部署CentOSWeb
- weblogic標準化部署大綱Web
- weblogic軟體安裝與配置部署大全Web
- weblogic中介軟體版本遷移常見問題Web
- weblogic中介軟體自動監控告警及分析Web
- Redis中介軟體與Web中介軟體RedisWeb
- 中介軟體之訊息中介軟體-pulsar
- 軟體工程國家標準軟體工程
- redux中介軟體Redux
- Laravel 中介軟體Laravel
- 中介軟體(middleware)
- Django——中介軟體Django
- ThinkPHP 中介軟體PHP
- 中介軟體漏洞
- 中介軟體-NginxNginx
- MySQL中介軟體MySql
- django中介軟體Django
- 中介軟體整理
- golang 中介軟體Golang
- 軟體測試--中介軟體介紹
- weblogic安全基線標準Web
- Laravel中介軟體統計使用者線上時長Laravel
- 什麼是中介軟體?Linux常用中介軟體都有哪些?Linux
- 常見中介軟體漏洞復現(上)
- 中介軟體是什麼?Linux中介軟體是什麼意思?Linux
- 理解Redux中介軟體Redux
- 理解Express中介軟體Express
- Sanic middleware – 中介軟體
- 聊聊 koa 中介軟體
- 訊息中介軟體
- MySQL中介軟體--ProxySQLMySql
- gin使用中介軟體
- websocket gateway 中介軟體WebGateway
- golang http 中介軟體GolangHTTP
- docker中介軟體搭建Docker
- 環繞中介軟體
- 路由中介軟體路由
- Django-中介軟體Django