国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分布式 - RPC異步調用

lewinlee / 502人閱讀

摘要:負載均衡,故障轉移與同步調用的連接池思路基本相同。而由于異步調用,端會很快返回,所以端多個服務同時路由到同一個的情況是很少的,因此一個服務的一個只需要建立少量的連接。

要實時就用同步,要吞吐率就用異步。

同步調用

流程略

實現負載均衡:連接池中建立了與一個RPC-server集群的連接,連接池在返回連接的時候,需要具備負載均衡策略。
實現故障轉移:連接池中建立了與一個RPC-server集群的連接,當連接池發現某一個機器的連接異常后,需要將這個機器的連接排除掉,返回正常的連接,在機器恢復后,再將連接加回來。
實現發送超時:因為是同步阻塞調用,拿到一個連接后,使用底層socket帶超時的send/recv即可實現帶超時的發送和接收。

異步調用

流程略

為什么要待發送隊列、待接收隊列?
因為要將工作線程和io收發線程兩者的同步關系解除,從而引入工作線程池和io收發線程池。

為什么要上下文
因為請求包的發送,響應包的callback回調不在同一個工作線程中完成,需要一個context來記錄一個請求的上下文,把請求-響應-回調等一些信息匹配起來。通過rpc框架的內部請求id作為key,來保存調用開始時間time,超時時間timeout,回調函數callback,超時回調timeout_callback等信息。
注意:請求id由client端服務調用時生成,會序列化成字節流發送給server端,server端會返回該請求id。

負載均衡,故障轉移
與同步調用的連接池思路基本相同。
注意:由于同步調用的連接池使用阻塞方式收發,需要與一個服務的一個server ip建立多條連接來保證client端多個服務同時路由到同一個server時不會阻塞。而由于異步調用,server端會很快返回response,所以client端多個服務同時路由到同一個server的情況是很少的,因此一個服務的一個server ip只需要建立少量的連接。

超時發送與接收
超時管理器啟動timer對上下文管理器中的所有context進行掃描,看上下文中請求發送時間是否過長,如果過長,就不再等待result包,將該context從上下文管理器中移除,直接執行timeout_callback。
注意:如果timeout_callback執行后,client端接收到了server端的result包,此時因為通過req-id在上下文管理器里找不到對應的context(說明已經超時處理過了),就直接將請求丟棄。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/68517.html

相關文章

  • Java 遠程通訊技術及原理分析

    摘要:對于與而言,則可以看做是消息傳遞技術的一種衍生或封裝。在生產者通知消費者時,傳遞的往往是消息或事件,而非生產者自身。通過消息路由,我們可以配置路由規則指定消息傳遞的路徑,以及指定具體的消費者消費對應的生產者。采用和來進行遠程對象的通訊。 消息模式 歸根結底,企業應用系統就是對數據的處理,而對于一個擁有多個子系統的企業應用系統而言,它的基礎支撐無疑就是對消息的處理。與對象不同,消息本質上...

    rozbo 評論0 收藏0
  • 布式服務框架之遠程通訊技術及原理分析

    摘要:微軟的雖然引入了事件機制,可以在隊列收到消息時觸發事件,通知訂閱者。由微軟作為主要貢獻者的,則對以及做了進一層包裝,并能夠很好地實現這一模式。 在分布式服務框架中,一個最基礎的問題就是遠程服務是怎么通訊的,在Java領域中有很多可實現遠程通訊的技術,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,這些名詞之間到底是些什么關系呢,它們背后到底是基...

    sorra 評論0 收藏0
  • 布式服務框架之遠程通訊技術及原理分析

    摘要:微軟的雖然引入了事件機制,可以在隊列收到消息時觸發事件,通知訂閱者。由微軟作為主要貢獻者的,則對以及做了進一層包裝,并能夠很好地實現這一模式。 在分布式服務框架中,一個最基礎的問題就是遠程服務是怎么通訊的,在Java領域中有很多可實現遠程通訊的技術,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,這些名詞之間到底是些什么關系呢,它們背后到底是基...

    0xE7A38A 評論0 收藏0

發表評論

0條評論

lewinlee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<