閱讀筆記:
支撐高併發,在初期就需要把系統進行分層,在發展過程中把核心業務進行拆分成模組單元,根據需求進行分布式部署,可以進行獨立團隊維護開發。
分層:將系統在橫向維度上切分成幾個部分,每個部門負責一部分相對簡單並比較單一的職責,然後通過上層對下層的依賴和排程組成乙個完整的系統.根據業務場景劃分層次,比如應用層,服務層,資料層。比如把電商系統分成:(具體分多少個層次根據自己的業務場景)。分層架構是邏輯上的,在物理部署上可以部署在同一臺物理機器上,但是隨著**業務的發展,必然需要對已經分層的模組分離部署,分別部署在不同的伺服器上,使**可以支撐更多使用者訪問
分割:在縱向方面對業務進行切分,將一塊相對複雜的業務分割成不同的模組單元,包裝成高內聚低耦合的模組不僅有助於軟體的開發維護,也便於不同模組的分布式部署,提高**的併發處理能力和功能擴充套件。
分布式:分布式應用和服務,將分層或者分割後的業務分布式部署,獨立的應用伺服器,資料庫,快取伺服器。當業務達到一定使用者量的時候,再進行伺服器均衡負載,資料庫,快取主從集群。分布式靜態資源、分布式計算、分布式資料和儲存。
集群:對於使用者訪問集中的業務獨立部署伺服器,應用伺服器,資料庫,nosql資料庫。 核心業務基本上需要搭建集群,即多台伺服器部署相同的應用構成乙個集群,通過負載均衡裝置共同對外提供服務, 伺服器集群能夠為相同的服務提供更多的併發支援,因此當有更多的使用者訪問時,只需要向集群中加入新的機器即可, 另外可以實現當其中的某台伺服器發生故障時,可以通過負載均衡的失效轉移機制將請求轉移至集群中其他的伺服器上,因此可以提高系統的可用性。
面向服務:soa面向服務架構設計、微服務更細粒度服務化,一系列的獨立的服務共同組成系統。使用服務化思維,將核心業務或者通用的業務功能抽離成服務獨立部署,對外提供介面的方式提供功能。最理想化的設計是可以把乙個複雜的系統抽離成多個服務,共同組成系統的業務,優點:松耦合,高可用性,高伸縮性,易維護。通過面向服務化設計,獨立伺服器部署,均衡負載,資料庫集群,可以讓服務支撐更高的併發。
對於宕機,最理想的方式是可以通過自動化監控伺服器資源消耗來進行報警,自動切換降級方案,自動的進行伺服器替換和新增操作等,通過自動化可以減少人工的操作的成本,而且可以快速操作,避免人為操作上面的失誤。
《架構漫談》閱讀筆記
在每個人都必須自己完成所有生活必須品的生產的時候,是沒有架構的 當然在個人來講,同一時刻只能做有限的事情,在時間上還是可能會產生架構的 一旦產生的分工,就把所有的事情,切分成由不同角色的人來完成,最後再通過交易,使得每個個體都擁有生活必須品,而不需要每個個體做所有的事情,只需要每個個體做好自己擅長的...
《架構漫談》閱讀筆記
架構漫談是由資深架構師王概凱執筆的系列專欄,通過對其閱讀,我從中逐步認識到了什麼是架構,怎樣做好架構,軟體架構如何落地等內容。一 什麼是架構 在軟體行業,對於什麼是架構一直有很多的爭論。事實上,架構在軟體發明時的n多年以前,就已經存在了,這個詞最早出現在建築上。架構產生的五個動力可以概括為 由個人執...
《架構漫談》閱讀筆記
軟體架構師如何工作?不同於軟體工程中只需要編碼的 低階 碼農,一名合格的軟體架構師首先要對架構有深刻的理解。那麼什麼是架構?從建築的角度解釋,架構是計畫 設計和建造建築物 物理結構的過程和生產活動。從這個定義上看,架構像乙個過程,但又不明確。為了弄清這個問題,我們首先要了解為什麼會產生架構?在最早期...