1. 軟件架構分類

        隨著互聯網的發展,現在的系統要支撐數億人同時在線購物、通信、娛樂的需要,相應的軟件體系結構也變得越來越復雜。軟件架構的含義也變得更加寬泛,我們不能簡單地用一個軟件架構來指代所有的軟件架構工作。按照我個人理解,我將軟件架構劃分為:

        軟件架構分類 工作思考

        業務架構:由業務架構師負責,也可以稱為業務領域專家、行業專家。業務架構屬于頂層設計,其對業務的定義和劃分會影響組織結構和技術架構。例如,阿里巴巴在沒有中臺部門之前,每個業務部門的技術架構都是煙囪式的,淘寶、天貓、飛豬、1688 等各有一套體系結構。而后,成立了共享平臺事業部,打通了賬號、商品、訂單等體系,讓商業基礎實施的復用成為可能。

        應用架構:由應用架構師負責,他需要根據業務場景的需要,設計應用的層次結構,制定應用規范、定義接口和數據交互協議等。并盡量將應用的復雜度控制在一個可以接受的水平,從而在快速的支撐業務發展的同時,在保證系統的可用性和可維護性的同時,確保應用滿足非功能屬性要求(性能、安全、穩定性等)。

        分布式系統架構:分布式系統基本是稍具規模業務的必選項。它需要解決服務器負載,分布式服務的注冊和發現,消息系統,緩存系統,分布式數據庫等問題,同時架構師要在 CAP(Consistency,Availability,Partition tolerance)之間進行權衡。

        數據架構:對于規模大一些的公司,數據治理是一個很重要的課題。如何對數據收集、數據處理提供統一的服務和標準,是數據架構需要關注的問題。其目的就是統一數據定義規范,標準化數據表達,形成有效易維護的數據資產,搭建統一的大數據處理平臺,形成數據使用閉環。

        物理架構:物理架構關注軟件元件是如何放到硬件上的,包括機房搭建、網絡拓撲結構,網絡分流器、代理服務器、Web 服務器、應用服務器、報表服務器、整合服務器、存儲服務器和主機等。

        運維架構:負責運維系統的規劃、選型、部署上線,建立規范化的運維體系。


        未經允許不得轉載:追夢的大鵬 » 軟件架構分類
        Top
        啊…高潮了喷出来了小文章