高併發系統設計 註冊中心與分布式Trace

2021-10-09 06:05:08 字數 590 閱讀 4757

註冊中心

註冊中心主要用來解決在服務端異常、擴容、縮容時如何快速通知客戶端。常見的註冊中心有zookeeper、etcd、consul、nacos、eureka等。

提供服務位址的儲存

當儲存內容發生變化時,將變化內容推送給客戶端

客戶端會與註冊中心建立連線,並且告訴註冊中心,它對哪一組服務感興趣;

服務端向註冊中心註冊服務後,註冊中心會將最新的服務註冊資訊通知給客戶端;

客戶端拿到服務端的位址之後就可以向服務端發起呼叫請求了。

主動探測;註冊中心每隔一段時間探測服務埠是否可用,根據是否可用來判斷是否正常。這種方式有兩個問題:服務端需要開放統一的埠來判斷是否正常;例項多時,會增加探測成本。

心跳模式:服務端每隔一段時間就傳送心跳請求,來更新註冊狀態;心跳機制相比主動探測的機制,適用範圍更廣。

註冊中心節點提供一些保護策略,避免節點被過度摘除導致的服務不可用。

分布式trace

經過服務化拆分之後,服務的可擴充套件性增強,服務節點增加。乙個請求會經過多個rpc服務或者使用多個資源,當請求出現異常或時延過長時,如何快速定位異常及確定請求時延長的節點。此時需要能過分布式trace來快速定位問題。

高併發與分布式

一提到高併發很多人就會想到分布式,那麼二者到底有什麼區別呢?併發和分布是完全不同的概念。分布是將任務分發到不同的點上去,一般分布式最多的就是分布式計算。通過某種分布式程式設計方式,在不同的系統上利用各自的cpu,記憶體等進行計算,將結果匯集至控制中心,進行處理。比如最有名的就是分布式計算天氣的氣候阿...

分布式註冊中心

1.為啥要用?分布式中機器,應用很多,服務呼叫方需要知道介面位址,然後在配置檔案中配置,新加,修改配置檔案很頻繁,很不方便。使用註冊中心,服務提供方和呼叫方將自己資訊放到註冊中心,即可使用。2.常用的註冊中心 zookeepr,eurkea 3.zookeepr資料模型 4.zookeepr操作命令...

分布式高併發商品秒殺系統設計

本專案為另乙個專案seckill的分布式改進版本,dis seckill意為 distributed seckill,即分布式秒殺系統。商品秒殺與其他業務最大的區別在於 除了具有以上特點,秒殺商品還需要完成正常的電子商務邏輯,即 1 查詢商品 2 建立訂單 3 扣減庫存 4 更新訂單 5 付款 6 ...