XXX管理平台系统——架构
生活随笔
收集整理的這篇文章主要介紹了
XXX管理平台系统——架构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
XXX管理平臺系統架構 前言 系統架構是項目中技術 實現的最重要的環節。系統架構的良好與否關系到系統的性能指標、安全指標、穩定性指標、可擴展性、業務實現等等。 系統架構涉及到系統硬件的選型、網絡拓撲、操作系統選型、數據庫 選型、 B/S 與 C/S 的選型、 B/S 各框架的選擇、緩存的實現、數據庫設計等諸多方面。 在大型 IT 企業 中,項目經理和架構師是分離的;但對于國內 IT 公司尤其是小企業來說,就成了一種奢望。項目經理一肩挑的現狀至少短期之內還是無法改變的,這自然也增加了項目經理的痛苦指數和工作量。 關于系統架構是什么?我最認同一句話:架構即關注點分離。 項目經理不是萬能的,系統架構需要更廣博的知識,當然某些方面專業的知識也是必須的,這取決于平時知識的積累和總結,也需要其他團隊成員共同的努力。 關于部分系統架構圖的內容參見: http://blog.csdn.net/baoqiangwang/archive/2009/10/14/4672677.aspx 系統硬件 關于系統硬件的選型,首先是根據業務需求和性能指標確定硬件的需求數量和相應型號;舉例說:一個普通的 B/S 系統需要有 web 應用服務器,數據庫服務器,如果對于性能有較高的要求,則需要增添 cache 服務器;如果對于穩定性和高可用性有特殊的要求,則需要對相應的服務器進行集群處理。 關于系統硬件的選型,一是關于廠商的選擇 ( 有 IBM 和 HP 之爭 ) ,一是關于機器架構的選擇 (PC 服務器和小型機 ) ,再則是某種機型的選擇(在本系統中主要為 HP360 和 HP580 );再細的話就是更細型號的選擇了 (HP360 、 HP580 都至少有十幾種型號 ) ,最后是機器選件,比如是否需要擴充硬盤、內存或者 CPU 。 其實最重要的一項就是預算,呵呵。本系統的硬件采購是由甲方采購的,但是架構是由自己做的,方案如果有之前的案例就會很輕松很多,很不幸,這個方案改了幾十版,跨度達到 4 個月。無他,對硬件,我不熟。 系統軟件 關于系統軟件的選擇主要上是操作系統、數據庫、開發工具 選擇什么樣的操作系統與計算機硬件本身有很密切的聯系,當然也與甲方的要求有關。 Linux/Windows/ 專有 UNIX 都是可選項, windows 囿于安全性 原因,一般不為推崇; UNIX 與硬件有很大關聯,一般也很少用;所以普遍選擇的是 Linux ; 關于操作系統版本的選擇,一般建議選擇目前市面比較穩定的版本,最新的版本往往意味著兼容性問題,太老的版本一般有性能問題; 關于操作系統的 32/64 位的選擇,這個需要硬件的支持;在 64 位 CPU 上安裝 32 位的操作系統意味著資源的浪費;在這個項目上曾經考慮有所欠妥,結果造成了一定的問題。 關于數據庫的選擇,與操作系統有一定關系,也和對系統的安全性、穩定性、高并發性有一定關系;雖然一個好的 DBA 在任何一種數據庫上都可以構建出高可用性的數據庫,呵呵。 關于開發工具的選擇,與操作系統相關,也與甲方的要求有關,開發工具一向有 java 和微軟 兩條線路之爭;在本系統中采用的當然是 java 了。 關于 web 中間件的選擇,與開發工具、操作系統都有關系, JBOSS , websphere , tomcat , resin , web logic 都有一定的擁蹇和市場;取決與甲方的要求和本團隊對相應系統的熟悉程度。 B/S 架構 關于系統軟件架構通常是指的是 B/S 部分實現的具體框架,此部分仍屬于技術架構部分。 眾所周知, B/S 的框架有不下數十種,常用的有 SSH ( Structs + Spring + Hibernate )和 SSI ( Structs + Spring + iBatis ), SSH 和 SSI 從本質上沒有什么不同,就是實現業務邏輯層、控制層、數據持久層和展現層的分離。 B/S 緩存的架構: OS Cache + Eh Cache 說到軟件架構,我就不太在行了;我做過 Powerbuilder , ASP , java(JSP,HTML,CSS,Javascript,structs,spring,xml,xsl,ajax,web service) 不過都是入門級水平,實在連個稱職的程序員都算不上,唯一的好處就是對方方面面都略知一二,查資料方便一點而已,呵呵。我個人只是在數據倉庫和數據庫開發、設計方面還算有點研究。 幸虧下面有相應的項目經理,也是項目中的技術經理,他在這方面是權威, B/S 技術架構本來就是一個虛虛實實的框架,呵呵。 系統同步和接口架構 關于數據同步,在本平臺中是最重要的環節,缺少數據的系統是無用的;為了實現系統數據同步架構,我曾先后在虛擬機上進行過 oracle 高級復制、 Oracle Stream 的測試 ,也曾為了該同步和公司技術總監吵過 N 多次,他主張用程序來實現,不過在他那邊總是不了了之。 盡管通過測試,高級復制和 stream 都可以實現實時數據同步,不過我知道在實際生產環境中是遠遠不會這么簡單的; 首先源數據和目標源的結構并非完全一致,允許目標源的結構大于原數據源的結構 其次多環節數據實時同步,從中心數據庫到電信數據庫,再從電信數據庫同步到網通數據庫。 再次各數據庫均采用 RAC 方式,現實的例子中很少有類似應用。 最后 Oracle 的 stream 有許多的 bug ,需要進行不斷調試和 patch 升級。 事實上,在同步方案的過程中,也遭遇到很大的困難,前后的測試和最終順利實施經歷了 2 個月之久,不過 stream 仍需要不斷的人工監控和干預。我相信到目前為止即使市面上也沒有任何一種完全穩定的同步方案。 關于 MQ 、 Webservice 、 LDAP 接口,目前的業務和技術雖然已經完全實現,但是還缺乏穩定性和一致性。 總結 系統架構是項目最重要的技術部分,它是否應該是項目經理的職責,暫且不談;從現實的角度而言,技不壓身,技能服眾還是很有意義的;從項目經理角度來看,你能夠準確的對項目進度、難度、工作量進行評估,對團隊成員面臨的困難迅速給出解決方案,減少項目經理和團隊成員的溝壑;從團隊成員角度來看,信任自己的項目經理,也是項目成功的一個重要因素。 項目經理能夠通過對系統架構的設計 , 盡快評估出各部分的工作量 , 以安排相應的人力資源和工作計劃 , 做到有的放矢 , 實際上本項目雖然包含幾個業務系統 , 加上對本公司相關資源和技能的評估 , 但我個人認為系統集成和數據同步等在項目實施中占據了 50% 的工作量 .
總結
以上是生活随笔為你收集整理的XXX管理平台系统——架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DNS 学习笔记之5- DNS区域详解
- 下一篇: Ubuntu 9.04下让Swing和S