一、傳統(tǒng)項目和互聯(lián)網(wǎng)項目的區(qū)別
傳統(tǒng)項目:
OA、HR、CRM等系統(tǒng) 目標(biāo)人群:企業(yè)員工
特點:項目使用人數(shù)較少、并發(fā)量相對較少、用戶忍耐力較高
互聯(lián)網(wǎng)項目:
淘寶、天貓、京東 目標(biāo)人群:互聯(lián)網(wǎng)
特點:使用人數(shù)躲,訪問量大,更注重用戶體驗:美觀、功能、速度、穩(wěn)定性
對于互聯(lián)網(wǎng)項目而言,后端工程師可以干預(yù)到的,速度與穩(wěn)定性
速度:打開一個新的頁面,一瞬間的事情,頁面間跳轉(zhuǎn)沒有延遲
穩(wěn)定性:網(wǎng)站全年99.9%都可正常訪問,不會出現(xiàn)問題
二、大型互聯(lián)網(wǎng)項目架構(gòu)目標(biāo):
互聯(lián)網(wǎng)項目的特點:
-
用戶多
-
流量大、并發(fā)高
-
海量數(shù)據(jù)
-
易受攻擊
-
功能繁瑣
-
變化快
衡量網(wǎng)站的性能指標(biāo)
- 響應(yīng)時間:執(zhí)行一個請求從開始時間到最后收到響應(yīng)數(shù)據(jù)所花費的總體時間
-
并發(fā)數(shù):系統(tǒng)同時能處理的請求數(shù)量
- 并發(fā)鏈接數(shù):指客戶端向服務(wù)器發(fā)起請求,并簡歷TCP鏈接,每秒服務(wù)器鏈接的總TCP數(shù)量
- 請求數(shù):QPS(Query Per Second)指每秒多少請求
- 并發(fā)用戶數(shù):單位 時間內(nèi)有多少用戶
-
吞吐量:指單位時間內(nèi)系統(tǒng)能處理的請求數(shù)量
- QPS:Query Per Second指每秒多少請求
- TPS:Transaction Per Second 每秒事務(wù)數(shù)
- 一個事務(wù)是指一個客戶機向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程??蛻魴C在發(fā)送請求時開始計時,收到服務(wù)器響應(yīng)后結(jié)束計時,以此賴計算使用的時間和完成的事務(wù)個數(shù)。
互聯(lián)網(wǎng)項目的架構(gòu)目標(biāo)
- 高性能:提供快速的訪問體驗
- 高可用:網(wǎng)站服務(wù)一直可以正常訪問
- 可伸縮:通過硬件增減,可以提高、降低處理能力(大促擴容)
- 高可擴展:系統(tǒng)間耦合低,方便的通過新增、移除方式,增加、減少新的功能模塊
- 安全性:提供網(wǎng)站安全訪問和數(shù)據(jù)加密,安全存儲策略
- 敏捷性:隨需應(yīng)變,快速響應(yīng)
集群和分布式
集群:
- 通俗描述:很多機器,干一樣的事情
- 專業(yè)描述:一個業(yè)務(wù)模塊,部署在多態(tài)服務(wù)器上
分布式:
-
通俗描述:很多機器,每臺集群干不一樣的事情,合起來就是一件復(fù)雜的大事(專業(yè)的干專業(yè)事,因為每件事性能要求不同)
-
專業(yè)描述:一個大的業(yè)務(wù)系統(tǒng),拆分為小的業(yè)務(wù)板塊,分別部署在不同機器上
集群架構(gòu)下的項目滿足以下特點:
-
高性能:集群可擴展,性能不夠可以加機器,性能得以保證
-
高可用:只要有一臺機器沒掛,服務(wù)就可以提供
集群分布式架構(gòu)可以很好的滿足互聯(lián)網(wǎng)系統(tǒng)的架構(gòu)目標(biāo)
-
高性能:集群可擴展,性能不夠可以加機器,性能得以保證
-
高可用:只要有一臺機器沒掛,服務(wù)就可以提供
-
可伸縮:根據(jù)不同服務(wù)的性能要求,對不同的服務(wù)集群進行動態(tài)擴縮容
-
高可擴展:需要新增或減少某些服務(wù)時,增減響應(yīng)服務(wù)的集群即可
架構(gòu)演進
單體架構(gòu)
所有的服務(wù)部署在一臺服務(wù)器上
- 優(yōu)點:簡單開發(fā)部署方便,小型項目首選
- 缺點:
- 代碼量大,項目啟動慢
- 可靠性差
- 可伸縮性差
- 擴展性和可維護性差
- 性能低
垂直架構(gòu)
垂直架構(gòu)是將單體架構(gòu)中的多個模塊拆分為多個獨立的項目,形成多個獨立的單體架構(gòu)
單體架構(gòu)存在的問題:
- 項目啟動慢
- 可靠性差
- 可伸縮性差
- 擴展性和可維護性差
- 性能低
垂直架構(gòu)存在的問題:
- 重復(fù)功能太多
分布式架構(gòu)
分布式架構(gòu)是指在垂直架構(gòu)的基礎(chǔ)上,將公共業(yè)務(wù)模塊抽取出來,作為獨立的服務(wù),提供給其他消費者以實現(xiàn)服務(wù)的共享與重用。
- RPC:Remote Procedure Call 遠(yuǎn)程過程調(diào)用。
垂直架構(gòu)存在的問題:
- 重復(fù)功能太多
分布式架構(gòu)存在的問題:
- 服務(wù)提供方一旦發(fā)生變更,所有的笑給方都需要變更
SOA架構(gòu)
SOA:(Service-OrientedArchitecture,面向服務(wù)的架構(gòu))是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))進行拆分,并通過這些服務(wù)質(zhì)檢定義好的接口和契約聯(lián)系起來
ESB:(Enterparise Service Bus)企業(yè)服務(wù)總線,服務(wù)中介。主要提供了一個服務(wù)與服務(wù)之間的交互。ESB包含的功能如:負(fù)載均很,流量控制,加密處理,服務(wù)的監(jiān)控,異常處理,監(jiān)控告急等等
分布式架構(gòu)存在的問題:
- 服務(wù)提供方一旦發(fā)生變更,所有的笑給方都需要變更
微服務(wù)架構(gòu)
文章來源:http://www.zghlxwxcb.cn/news/detail-738848.html
- 微服務(wù)架構(gòu)是SOA上做的升華,微服務(wù)架構(gòu)強調(diào)的是一個重點“業(yè)務(wù)需要徹底的組件化和服務(wù)化”,原有的單個業(yè)務(wù)系統(tǒng)會拆分成為多個可以獨立開發(fā)、設(shè)計、運行的小應(yīng)用、這些小應(yīng)用之間通過各種服務(wù)完成交互和集成
- 微服務(wù)架構(gòu)=80%的SOA服務(wù)架構(gòu)思想+100%的組件化架構(gòu)思想+80%的領(lǐng)域建模思想
特點:文章來源地址http://www.zghlxwxcb.cn/news/detail-738848.html
- 服務(wù)實現(xiàn)組件化:開發(fā)者可以自由的選擇開發(fā)技術(shù),各團隊之間不需要相同
- 服務(wù)之間交互一般使用REST API
- 去中心化:每個微服務(wù)有自己的私有數(shù)據(jù)庫去持久化業(yè)務(wù)數(shù)據(jù)
- 自動化部署:把應(yīng)用拆分為一個一個獨立的單個服務(wù),方便自動化的部署、測試、運維
到了這里,關(guān)于互聯(lián)網(wǎng)應(yīng)用的特點及其架構(gòu)演變的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!