架構師之路-業務高可用
異地多活架構的關鍵點就是異地、多活,其中異地就是指地理位置上不同的地方,多活就是指不同地理位置上的系統都能提供業務服務。
異地多活雖然功能強大,但是不是每個業務不管三七二十一都要上異地多活。
如果業務規模很大,能夠做異地多活的情況下儘量實現異地多活。
異地多活架構可以分為同城異區、跨城異地、跨國異地。
同城異區是指將業務部署在同一城市不同區域的多個機房。
同城異區的兩個機房能夠實現和同一個機房內幾乎一樣的網路傳輸速度,這就意味著雖然是兩個不同地理位置上的機房,但邏輯上我們可以將他們看作同一個機房。
擴成異地指的是業務部署在不同城市的多個機房,而且距離最好要遠一些。
跨城異地距離較遠帶來的網路傳輸延遲問題,給業務多活架構設計帶來了複雜性。
跨國異地指的是業務部署在不同國家的多個機房。
跨國異地主要適應兩種場景:為不同地區的使用者提供服務,為全球使用者提供只讀服務。
異地多活設計技巧一:保證核心業務的異地多活。
異地多活設計技巧二:保證核心資料最終一致性。
異地多活設計技巧三:採用多種手段同步資料。
異地多活設計技巧四:保證絕大部分使用者的異地多活。
降級的核心思想就是棄車保帥,優先保證核心業務。
限流指只允許系統能夠承受的使用者量進來訪問,超出系統訪問能力的使用者將被拋棄。
排隊實際上是限流的一種變種,限流是直接拒絕使用者的訪問,排隊是讓使用者等待很長時間。