分布式系統上的相關概念
項目:傳統項目、互聯網項目
傳統項目:
一般為公司內部使用,或者小群體小范圍的使用,一般不要求性能,美觀,并發等
互聯網項目的特點:
1.用戶多
2.流量大,并發高
3.海量數據
4.易受攻擊
5.功能繁瑣
6.變更快
衡量網站的性能指標:
響應時間:指執行一個請求從開始到結尾花費的總體時間
并發數:系統同時能處理的請求數量
并發連接數:指的是客戶端向服務器發送請求,并建立TCP協議,每秒鐘服務器連接的總TCP數量
請求數:QPS(query per second),每秒多少請求,即打開一個網站時,頁面數據的總請求數
并發用戶數量:指單位時間內有多少用戶
吞吐量:單位時間內系統能處理的請求數量
高性能:提供快速的訪問體驗
高可用:網站服務一直可以正常訪問,保證服務器長時間正常運轉,分布式技術
可伸縮:通過硬件增加/減少,提高/降低處理能力
高可擴展:系統間耦合低,方便的通過新增/移除方式,增加/減少新的功能模塊
安全性:提供網站的安全訪問和數據加密
敏捷性:需隨時應變,快速響應
集群和分布式
集群:很多人一起做同樣的事情
分布式:很多人一起干部一樣的事情,這些不一樣的事情合起來就是一件大事
架構演進
1.單體架構
優點:開發部署很方便,小型項目首選
缺點:項目啟動慢,可靠性差,可伸縮性差,擴展性和維護性差,性能低
2.垂直架構
將單體架構拆分為多個獨立的項目,形成多個獨立的單體架構
相比單體架構,優缺點:項目啟動較快,可靠性差,可伸縮性較好,擴展性和可維護性較好,性能較好,重復的功能模塊較多
3.分布式架構
4.SOA架構
ESA:企業服務總線,服務中介,主要是提供了一個服務于服務之間的交互。負載均衡,流量控制,加密處理,服務監控,異常處理,監控告急等
各模塊信息發生變更后,會通知ESB,ESB會存儲變更后的信息,其余模塊之間想要通信,直接找ESB即可
5.微服務架構–(SOA的細化升級)
服務實現組件化,開發者可以自由的選擇開發技術不需要協調其他團隊
去中心化:每個微服務都有自己的數據庫持久化業務數據
自動化部署:把應用拆分成一個獨立的單個服務,方便自動化部署、測試、運維