京東三高系統建設

人在江湖之诗和远方發表於2024-09-06

高效能:

首先我們要清楚知道影響系統效能的因素有那些,通常有以下三方面的因素:計算(computation),通訊(communication),儲存(storage)。

計算層面:系統本身的計算邏輯複雜,Fullgc;

通訊層面:依賴的下游耗時比較高;

儲存層面:大庫大表,慢sql,ES叢集的資料節點,索引,分片,分片大小設定的不合理;針對這些問題,我們可以從讀寫兩個維度針對效能問題進行最佳化,下圖是我工作中解決效能問題的一些方法。

高併發:

水平擴充套件,縱向擴充套件,垂直擴充套件

高可用:

高可用的建設通常是透過保護系統和冗餘的方法來進行容錯保證系統的可用性。

儲存層主要透過複製和分片來保證儲存層的高可用,複製主要是透過副本(主從節點,主從副本)來保證高可用,分片是將資料分散到不同的節點上來保證高可用(雞蛋不要放在同一個籃子中)。複製和分片在保證高可用的情況下,其實也提高了系統的高效能和高併發,複製和分片的思想在Mysql,Redis,ElasticSearch, kafka中都進行了採用。

https://mp.weixin.qq.com/s/KexjVJOsGYN50MxqzVT3mA

相關文章