RPC實戰與核心原理之健康檢測

2022-09-21 03:18:08 字數 258 閱讀 1267

因為有了集群,所以每次發請求前,rpc 框架會根據路由和負載均衡演算法選擇乙個具體的 ip 位址。為了保證請求成功,我們就需要確保每次選擇出來的 ip 對應的連線是健康的

業內常用的檢測方法就是用心跳機制,就是服務呼叫方每隔一段時間就問一下服務提供方目前的狀態

可用率的計算方式是某乙個時間視窗內介面呼叫成功次數的百分比(成功次數 / 總呼叫次數)。當可用率低於某個比例就認為這個節點存在問題,把它挪到亞健康列表,這樣既考慮了高低頻的呼叫介面,也兼顧了介面響應時間不同的問題。

RPC實戰與核心原理之非同步RPC

提公升吞吐量,其實關鍵就兩個字 非同步 提高cpu等資源的利用率 非同步,最常用的方式就是返回 future 物件的 future 方式,或者入參為 callback 物件的 方式,而 future 方式可以說是最簡單的一種非同步方式了。我們發起一次非同步請求並且從請求上下文中拿到乙個 future...

RPC實戰與核心原理之服務發現

為了高可用,在生產環境中服務提供方都是以集群的方式對外提供服務,集群裡面的這些 ip 隨時可能變化,我們也需要用一本 通訊錄 及時獲取到對應的服務節點,這個獲取的過程我們一般叫作 服務發現 對於服務呼叫方和服務提供方來說,其契約就是介面,相當於 通訊錄 中的姓名,服務節點就是提供該契約的乙個具體例項...

RPC實戰與核心原理之優雅啟動

優雅停機,就是為了讓服務提供方在停機應用的時候,保證所有呼叫方都能 安全 地切走流量,不再呼叫自己,從而做到對業務無損。其中實現的關鍵點就在於,讓正在停機的服務提供方應用有狀態,讓呼叫方感知到服務提供方正在停機。簡單來說,就是讓剛啟動的服務提供方應用不承擔全部的流量,而是讓它被呼叫的次數隨著時間的移...