SpringCloud高可用和高並發


1 高可用

什么是高可用:(High Availability)在一個長時間內服務不受影響。通俗的講就是,一個機器掛掉的時候,有其他機器可以繼續提供同樣的服務。

如何實現高可用:冗余+自動故障轉移。冗余即提供備份服務器,自動故障轉移即當一個服務掛掉的時候,檢測機制可以檢查到,會實施自動的故障轉移。

分層系統架構如何實現高可用:

(1)【客戶端層】到【反向代理層】的高可用,是通過反向代理層的冗余實現的,常見實踐是keepalived + virtual IP自動故障轉移;

(2)【反向代理層】到【站點層】的高可用,是通過站點層的冗余實現的,常見實踐是nginx與web-server之間的存活性探測與自動故障轉移;

(3)【站點層】到【服務層】的高可用,是通過服務層的冗余實現的,常見實踐是通過service-connection-pool來保證自動故障轉移;

(4)【服務層】到【緩存層】的高可用,是通過緩存數據的冗余實現的,常見實踐是緩存客戶端雙讀雙寫,或者利用緩存集群的主從數據同步與sentinel保活與自動故障轉移;更多的業務場景,對緩存沒有高可用要求,可以使用緩存服務化來對調用方屏蔽底層復雜性;

(5)【服務層】到【數據庫“讀”】的高可用,是通過讀庫的冗余實現的,常見實踐是通過db-connection-pool來保證自動故障轉移;

(6)【服務層】到【數據庫“寫”】的高可用,是通過寫庫的冗余實現的,常見實踐是keepalived + virtual IP自動故障轉移;

Eureka如何實現高可用:在服務層實現高可用,配置2個或以上的Eureka,將自己作為服務向其他服務注冊中心注冊自己,這樣就可以形成一組互相注冊的服務 注冊中心,以實現服務清單的互相同步,達到高可用的效果。

Eureka數量是如何確認,有什么理論依據:

 

2 高並發

 

 

 

 

附:參考鏈接https://www.cnblogs.com/shizhiyi/p/7750530.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM