一
、設計原則
1
、單機可展性
即設備升級的餘地
,係統采用的每一台主機
,都具備良好的擴展性
。特別是係統硬件具備平衡的設計
,各主要組成部分(CPU
,內存
,I/O)可以按照應用的需要相對獨立地升級
,而不互相牽製
。另外
,高性能的主機還應該具備網絡接口的Trunking
,即將幾個物理網絡通道合成一個高帶寬的邏輯網絡通道的冗餘擴展
,實現網絡可擴展性
。
2
、群集可擴展性
一個方案中
,使用了群集的設計
,其目的就是負載均衡
、冗餘
、可靠性和可擴展性
。在群集中增加一台新的機器
,結合係統級高可用群集的配置
,由並行數據庫自行調整處理任務的分布
。
3
、高可靠性設計
對於關鍵應用來說
,高可靠性的要求是不言而諭的
。在總體方案設計中
,金年会始終將係統的高可靠性設計放在首先考慮的位置
,係統的高可靠可用性
,也即係統能否提供高度持續不間斷的用戶服務能力
,是係統成敗的關鍵所在
。係統設計無單點故障
。
4
、高可用性
確保數據完整有效
,無丟失
,無錯誤
。
二
、概述
隨著係統日常業務運行及數據量大大增加
,反恐事件突發
,特別是在可靠性保障及數據安全性
,需要對於核心係統應構建集群容錯係統
,應通過一整套基礎備份方案統一備份係統
,極大的提高了業務係統的可靠性及數據安全性
。在基礎備份方案完善的基礎之上,應要著重考慮核心業務係統的災難熱備能力
,可以在生產節點遭遇重大災難打擊的時候可以快速的恢複業務應用
,提高抗重大災難打擊能力
。
核心係統應該運行在Oracle數據庫之上
,信息化IT係統提供穩定性及數據安全性基礎保障
。Oracle數據庫係統是一個較為複雜的數據庫
,作為信息化IT係統的基礎數據存儲和運行平台
,存儲著核心數據資料和基本業務邏輯,其穩定性及安全性直接關係著對外服務能力
。
如何確保應急係統信息化IT係統各業務子係統之間的數據信息共享
,數據之間及時或定時同步
。采用ORACLE STREAM數據流技術進行業務係統之間的數據同步
,幾乎對主係統不產生任何性能壓力
。大大提高核心業務係統的性能
,穩定性等
。
三
、係統設計
四
、服務器負載均衡及集群技術
服務器係統的高可靠運行是任何一個信息係統硬件環境設計的基本原則
,隨著信息係統對穩定性
、可靠性以及性能的要求不斷提高
,金年会在進行係統設計時更多的引進目前主流的
、技術成熟雙機集群以及負載均衡技術
。
1
、服務器集群
集群技術(Cluster)定義如下
:一組相互獨立的服務器在網絡中表現為單一的係統
,並以單一係統的模式加以管理
。此單一係統為客戶工作站提供高可靠性服務
。大多數模式下
,集群中所有的計算機擁有一個共同的名稱
,集群內任一係統上運行的服務可被所有的網絡客戶所使用
。Cluster必須可以協調管理各分離的組件的錯誤和失敗
,並可透明的向Cluster中加入組件
。一個Cluster包含多個(至少二台)擁有共享數據存儲空間的服務器
。任何一台服務器運行一個應用時
,應用數據被存儲在共享的數據空間內
。每台服務器的操作係統和應用程序文件存儲在其各自的本地存儲空間上
。Cluster內各節點服務器通過一內部局域網相互通訊
。當一台節點服務器發生故障時
,這台服務器上所運行的應用程序將在另一個節點服務器上被自動接管
。當一個應用服務發生故障時
,應用服務將被重新啟動或被另一台服務器接管
。當以上任一故障發生時
,客戶將能很快連接到新的應用服務上
。
服務器集群技術能夠非常有效的提高係統的可靠性
、穩定運行
,而且所有的應用切換時間非常短暫
,對終端用戶透明
,用戶的業務應用可以持續運行
,他並不關注後台故障的發生
。
如圖所示
,服務器集群包含至少兩台服務器
,其中一台為主服務器
,另一台為備服務器
,兩台服務器共享存儲
。客戶端訪問數據時候通過主服務器進行訪問
,備服務器通過心跳線不斷監測主服務器的運行狀況
,一旦主服務器故障
,被服務器將自動接管主服務器的所有應用服務
,確保整個係統的持續運行
。
2
、服務器負載均衡
雖然服務器集群技術有效解決了係統的可靠性問題
,但是隨著信息化程度的不斷提高
,大型的應用係統不斷被推出
。指揮係統是一個涉及多方麵資源的綜合應用係統,係統可靠運行是首要條件
,此外硬件環境還需要考慮係統性能問題
,尤其是在係統並發訪問量大的情況下
,如何保障係統的運行效率
。在此金年会推薦選用服務器負載均衡方案
。業界服務器負載均衡方案很多
,而且技術都比較成熟
,金年会推薦選用Oracle 10G中的RAC(Real Application Cluster)技術以及Weblogic網絡部署軟件的負載均衡技術
。
Oracle RAC
:數據庫級負載均衡技術
,實現數據訪問層的負載均衡
,達到數據庫係統的高可用性
。
應用中間層的負載均衡技術
,部署在B/S多層機構的應用中間層
,通過兩台應用服務器實現中間層邏輯處理的負載均衡
。最終保證應用層的高可用性
。
Real Application Cluster(以前稱作Oracle Parallel Server
,OPS)用來在集群環境下實現多機共享數據庫
,以保證應用的高可用性
。同時可以自動實現並行處理及負載均衡
,還能實現數據庫在故障時的容錯和無斷點恢複
。
Real Application Cluster為大多數高要求數據庫環境提供了極高的性能和完美的糾錯功能
。Real Application Cluster允許集群係統或大型並行係統中的多個節點共享同一物理數據庫
。Real Application Cluster可以自動進行負載平衡
、故障修複和規劃停機時間
,以支持高可用性應用程序
。它還顯著提高了大型數據倉庫和決策支持係統的性能
。與並行查詢選件結合
,它還提供了節點間並行性和節點的並行性
,以得到更高的性能
。
多服務器集群的Cluster結構
,因其具有高可靠性
、大容量共享磁盤支持
、以及無斷點的故障恢複
,越來越受到世人的關注
,越來越多的硬件廠商都相繼推出自己的Cluster機種和機型
,它已經成為硬件平台的一個新的發展方向
。
Oracle獨有的並行服務器技術可以良好地保證應用係統的高可用性
,同時最大限度地發揮多機係統硬件平台的性能
。
在並行服務器方式下
,兩台(或多台)服務器上各自運行一個數據庫核心進程
,但共同管理
、操作一個數據庫
。客戶端無論連接到哪個服務器都可以在數據庫中進行操作
。當服務器A由於故障失效時
,數據庫係統本身並未停止工作
,連接在服務器B上的客戶端還可以繼續進行正常工作
。同時
,服務器B上也不需要再啟動新的數據庫服務器進程
,因此也沒有“切換時間”
。
Oracle並行服務器方式有以下優點
:
各服務器共享一個數據庫
,在正常運行時可以進行負載分擔
,無需考慮應用數據的人為分割
。
並行服務器方式對應用完全透明
,在應用程序設計和開發的過程中也不需要進行特殊編程
,簡化了開發的複雜程度
,同時今後係統擴展也無需修改應用程序
。
不需要重新啟動數據庫核心進程
,縮短了故障造成的停機時間
。