當前位置:最新電影網 - 電影天堂 - [軟件架構]互聯網架構模板

[軟件架構]互聯網架構模板

架構圖如下圖所示。這個圖基本涵蓋了互聯網科技公司的大部分技術點。不同公司只是在具體技術實現上略有差異,但不會跳出這個框架。

SQL: mysql通常用於存儲業務數據。互聯網發展初期,各種業務壹般都是獨立運營mysql集群。但是隨著業務越來越多,mysql集群越來越大,就需要做sql平臺。

NoSQL:不僅翻譯成SQL作為mysql的補充。Nosql壹般自己提供集群化,使用起來非常方便,所以在公司業務發展初期並不需要。Nosql集群總體來說越來越多,做Nosql平臺很有必要。

小文件:網上有很多小文件,比如產品圖片,臉書圖片。這種小文件具有數據量小、數量巨大、訪問量大的特點。如果每個業務都考慮小文件存儲,會有重復造輪,所以做壹個小文件平臺很有必要。

大文件:互聯網上的大文件主要分為兩類:壹類是商業大數據,比如Youtube視頻,電影網站的電影;另壹種是海量日誌數據,比如各種訪問日誌。壹些有實力的大公司會做基於開源解決方案的大數據平臺。

開發框架:比如常見的Spring框架。

Web服務器:tomcat、jetty等比較常見。

容器:Docker可以大大降低運維成本,實現動態擴展非常方便。

配置中心:顧名思義,配置中心就是集中管理各個系統的配置。

服務中心:解決跨系統依賴的配置和調度問題。比如有10個系統依賴於系統A的X接口,而此時系統A已經實現了可以更好支持X接口的Y接口,那麽直接更新10個系統的配置會很麻煩。

消息隊列:支持系統解耦。

負載平衡:作為任務分配器的職責。

CDN:壹些常用文件可以就近緩存,提高訪問速度。

多機房:多機房的主要目的是備災。當機房出現故障時,業務可以快速切換到另壹個機房。這種切換操作允許壹定的中斷時間,例如10分鐘和1小時。

多中心:多中心的要求更高,要求同時提供對外服務,業務可以在多中心之間自動切換,故障發生後無需人工幹預或很少人工幹預即可自動恢復。

用戶管理:統壹管理各個系統的用戶。

消息推送:根據方式不同,分為短信、郵件、站內信、App推送。

存儲雲:實現了CDN+小文件存儲。

圖雲:實現的也是CDN+小文件存儲。為什麽不將系統與存儲雲統壹起來呢?這是由於圖片業務的復雜性。圖片會涉及更多的業務,包括剪切、壓縮、美化、審計、水印等等。

服務千差萬別,各種互聯網服務面臨的主要問題是越來越復雜。這時候就要用到拆解整合的技術了。反匯編就是把壹個大系統拆分成多個子系統,降低復雜度。當子系統越來越多時,可能需要采用集成技術。

測試平臺的核心目的是提高測試效率。

運維平臺的核心職責分為四個部分:配置、部署、監控和應急響應。

數據平臺的核心職責主要包括三個部分:數據管理、數據分析和數據應用。

管理平臺的核心職責是權限管理。