天天看點

認識分布式(分布式筆記)

什麼是分布式?

簡單的了解就是,許多伺服器互相協作支援,共同完成一系列任務的系統架構,就像一個完善的大公司,有很多員工,有負責産品的,有負責實施的,有負責開發的,有負責銷售的,大家協同工作,共同服務好客戶一樣。

為什麼用分布式?

1、 節約伺服器資源,靈活部署,傳統的叢集架構存在大量的資源耗費,業務量少的子產品也會部署到同樣多的伺服器上,使用分布式可以針對不同子系統的業務量去增加或減少伺服器。

2、 子產品解耦和,成立不同業務部門負責不同的子系統,降低開發難度,提升開發效率

3、 解耦和的同時,也提升了系統的可擴充性,相比于叢集架構,新增或修改子產品對系統的影響小得多。

如何分布式?

1、 将一整個大系統按需求分解成許多子系統

2、 用RPC架構或消息中間件做節點通信

分布式和叢集的關系?

分布式:将一整個大業務拆分成多個子系統,分别部署在不同的伺服器或叢集上

叢集: 同一個業務,部署在多個伺服器上,所有的伺服器運作同一套業務代碼

比如我們可以把一個電商平台拆分成:使用者、商品、訂單、交易等多個子系統

叢集可以保證服務的高可用,而分布式可以使大型系統用更少的資源擷取更高的服務性能

什麼是大型網站

1、通路量(TPS、QPS)

2、資料量(存儲資料量)

電商平台系統架構的發展

容器:tomcat;資料庫存儲:MySQL

網絡層面的知識:TCP/UDP

第一版應用,單體服務

認識分布式(分布式筆記)

第二版 伺服器負載越來越高,将資料庫伺服器和應用伺服器分離

認識分布式(分布式筆記)

第三版 應用伺服器做叢集

認識分布式(分布式筆記)

1、session丢失問題

方案一:Nginx的IP_HASH算法

方案二:分布式session

第四版 提高資料庫性能,讀寫分離

認識分布式(分布式筆記)

1、資料庫讀寫分離怎麼操作

2、資料庫的資料同步

3、資料庫路由 mycat

第五版 減輕讀請求給資料庫帶來的壓力,建立搜尋引擎

認識分布式(分布式筆記)

1、 搜尋引擎的索引資料怎麼去做同步,實時增量同步? 還是定時全量同步?

第六版 解決通路量持續增高,引入緩存機制

認識分布式(分布式筆記)

1、如何應對持續增高的通路量?

緩存、 限流、 降級

第七版本 資料庫的水準/垂直拆分

認識分布式(分布式筆記)

第八版本 業務的拆分

認識分布式(分布式筆記)

繼續閱讀