<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JimmyJin
    走在架構師的大道上,學習的樂趣就在于將知識應用于具體實踐中,在實戰中實現知識的價值。
    posts - 4,comments - 0,trackbacks - 0
    之前只要一提起架構,給我一種很深奧、玄妙的感覺,認為很牛X,曾幾何,以為軟件架構無非就是將幾大框架(各層次)整合在一起而已,后來當我從事系分一段時間之后,體會到如果你不能從整體上認識一個系統(軟件)的話是沒法做架構的,因為滿足系統(軟件)的功能是一個架構師最起碼的要求。從這個層面上講,那系統分析師與系統架構師一樣都要對系統有一個整體的認識,更要認識到該系統在未來可能的變化及做成產品后如何時維護的問題。感覺系統分析師與系統架構師好像沒什么區別似的,雖說早就知道一個偏重業務一個偏重技術。
    但自我開始閱讀“架構之美”這本書后,開始對架構有了進一步的認識:
    本質上,架構只是系統設計中的一部分,無非架構更突出某些細節,并通過抽象省略另一些細節。關注實現系統組件的開發者可能不會特別關心所有組件是如何裝配在一起,而是主要關注少數組件的設計和開發,包括他們必須遵守的架構約束和可以應用的規則。因此,開發者和架構師面對的是系統設計的不同方面。如果說架構關注的是組件之間的關系和系統組件外部可見的屬性,那么設計還要關注這些組件的內部結構。
     架構這個詞本質上是從建筑學這個行業引申過來的,所以在軟件開發這個領域好多概念跟現在的建筑都相似。
    項目關注點:
    功能性、
    可變性、
    容量、
    生態系統、
    模塊化、
    可構建性、
    產品化、
    安全性
    架構還會影響到組織機構。
    架構觀點中的常見思想是結構,每種結構都由各種類型的組件及其關系構成:它們如何組合、相互調用、通信、同步,以及進行其他交互。組件可以是建筑中的支架棟梁或故事中的章節或人物。每種結構都是為了幫助架構師理解如何來滿足特定的關注點,如可變性或性能。展示某些關注點得到滿足時,可能會影響到其他方面的關注點,但架構師必須能夠說明所有關注點都已得到滿足。
    架構師的角色:就是做設計上的決定包括行為上和結構上。
    信息隱藏結構是面向對象設計方法的基礎,它滿足的關注點:信息隱藏結構的設計應該能滿足可變性、模塊化和可構建性的要求。
    定義良好的使用結構將創建系統的適當子集,可以用于驅動迭代式或增量式的開發循環,滿足的關注點:產品化和生態系統。
    信息隱藏模塊結構和使用結構是靜態的結構,存在于設計時和編碼時,進程結構是運行時的結構。
    進程結構滿足的關注點:性能和容量。
    一:伸縮性架構設計
    胖客戶端與廋客戶端
    在線游戲環境與企業環境幾乎完全相反,
    經典的企業環境可以描述為一個“瘦”客戶端連接一個“胖”服務器(這個服務器又常常連接到一個更“胖”的數據庫服務器)。服務器將保存客戶端需要的絕大部分信息,在最理想的情況下,客戶端內在不多,沒有自已的硬盤,它是服務器的一個稱職的顯示設備,絕大多數據真正的工作在服務器上完成。
    游戲世界特別是大型多人在線游戲(MMO)
    MMO和虛擬世界的環境始于一個非常胖的客戶端:
    它通常是頂級的PC、具有最強勁的CPU、很大的內存,以及本身計算能力很強的顯卡。只要有可能,數據就會存放在這些客戶端上,特別是那些不會改變的信息,如地理信息、材質貼圖和規則集。服務器保持盡可能的簡單,通常只保存非常抽象的世界表示和其世界中的實體的表示。而且服務器的設計目標是盡可能少地進行計算。絕大部分的計算留給了客戶端。服務器的真正工作是保存共享的世界真實狀態,確保不同客戶端對世界的看法差異可以根據需要得到糾正。真實狀態需要由服務器來保存,因為控制客戶端的玩家很有興趣讓他們的表現變成最強,所以可能會受到誘惑,根據他們的喜好修改共享的真實(如查他們可以)。在一般情況下,如果有可能,玩家就會作弊,所以服務器必須是共享真實的最終來源。
    MMO和虛擬世界的數據訪問模式也和企業中看到的情有著很大的區別。企業中的一般經驗法則是90%的數據訪問都是只讀的,大多數任務會讀取大量數據,然后會再改寫少量數據。在MMO和虛擬世界的環境中,大多數任務只訪問服務器上少量的狀態數據,但在它們訪問的數據中,大約一半會被改寫
    在線游戲環境與企業環境的共同關注點:
    1,延遲是敵人,但也有不同。最大的不同要追溯到用戶所做的事情的不同。在企業環境中,目標是管理業務,如果總吞吐量得到改進,在處理中有一點延遲是可以接受的,在MMO和虛擬世界的環境中,目標是開心,而延遲是開心的敵人,所以MMO或虛擬世界的基礎設施需要圍繞著盡可能限定延遲的需求來設計即便以吞吐量為代價也在所不惜。
    XX在線游戲(Darkstar)架構的目標:
    1,對伸縮性的需求表明,系統應該是分布式的、并發的,游戲程序員應該把系統視為一臺單機,運行著一個線程,所有允許部署到多線程和多
    計算機上的機制都應由XX在線游戲的基礎設施來考慮。
    2,支持隨時伸縮,同時不要求游戲邏輯受到伸縮的影響,這個架構應該支持游戲動態地響應負載,而不是讓這種響應成為游戲設計的工作的一部分。
    架構:
    Darkstar由一組獨立的服務構成,用一組相互聯系的服務來構建系統,“分而治之”,分而治之是設計所有大型計算機系統的基本方法。
    客戶端連接到游戲邏輯使用的通信機制是基礎設施的一部分,這些機制支持客戶端到服務器的直接通信,也支持一種“發布-訂閱”通道,任何發往通道的消息都會送達該通道的所有訂閱者。
    游戲服務器的設計方式和游戲為為支持并玩家所采取的伸縮性技術。
    并行與延遲

    二:數據增長——Facebook平臺的架構

    posted on 2012-05-24 12:31 jimmy2009 閱讀(237) 評論(0)  編輯  收藏 所屬分類: 系統架構

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产视频久久| 中文字幕版免费电影网站| 亚洲综合免费视频| 亚洲成色WWW久久网站| 亚洲国产成人精品无码区在线秒播 | 日韩在线视精品在亚洲| 免费看片免费播放| 亚洲成AV人片在线播放无码| 精品国产免费一区二区三区香蕉| 国内一级一级毛片a免费| 亚洲国产精品一区二区成人片国内 | 亚洲成人国产精品| 亚洲视频一区二区在线观看| 老妇激情毛片免费| 狠狠亚洲狠狠欧洲2019| 国产免费爽爽视频在线观看| 亚洲AV无码乱码在线观看裸奔| 在线精品自拍亚洲第一区| 免费h黄肉动漫在线观看| 黄桃AV无码免费一区二区三区| 日韩亚洲一区二区三区| 人妻无码一区二区三区免费 | 污污网站18禁在线永久免费观看| 亚洲电影一区二区三区| 一级毛片免费播放视频| 亚洲人成人一区二区三区| 日本黄页网址在线看免费不卡| 亚洲国产成人五月综合网| 国产色无码精品视频免费| 亚洲不卡中文字幕| 亚洲国产av一区二区三区| 三级网站免费观看| 亚洲精品无码久久久久sm| 91高清免费国产自产| 精品亚洲视频在线| 亚洲v高清理论电影| 日本免费网站观看| 国产午夜成人免费看片无遮挡| 亚洲日韩国产欧美一区二区三区 | 亚洲AV无码国产在丝袜线观看| 最近2019中文字幕免费看最新|