如何實現乙個高效能分布式 RPC 框架

2021-10-14 04:16:32 字數 330 閱讀 9722

rpc 框架是大型企業高頻使用的一種中介軟體框架,用於解決分布式系統中服務之間的呼叫問題。rpc 框架設計很多重要的知識點,如執行緒模型、通訊協議設計、同步/非同步呼叫、負載均衡等,對於提高我們的技術綜合能力有非常大的幫助。

市面上有較多出名的 rpc 框架,例如 dubbo、thrift、grpc 等,rpc 框架本身是非常負責的,我們不可能面面俱到,而是抓住 rpc 框架的核心流程以及必備的元件,開發乙個功能比較豐富的小型 rpc 框架。麻雀雖小,五臟俱全。

在正式開始 rpc 實戰專案之前,我們先學習一下 rpc 的架構設計,這是專案前期規劃非常重要的一步。

執行緒模型

負載均衡

Beanstalkd乙個高效能分布式記憶體佇列系統

高效能離不開非同步,非同步離不開佇列,內部是producer consumer模型的原理。設計中的核心概念 job 乙個需要非同步處理的任務,是beanstalkd中得基本單元,需要放在乙個tube中 tube 乙個有名的任務佇列,用來儲存統一型別的job,是producer和consumer操作的...

設計乙個分布式RPC框架

提前先祝大家春節快樂!好了,先簡單聊聊。我從事的是大資料開發相關的工作,主要負責的是大資料計算這塊的內容。最近hive集群跑任務總是會出現thrift連線hs2相關問題,研究了解了下內部原理,突然來了興趣,就想著自己也實現乙個rpc框架,這樣可以讓自己在設計與實現rpc框架過程中,也能從中了解和解決...

設計乙個分布式RPC框架

提前先祝大家春節快樂!好了,先簡單聊聊。我從事的是大資料開發相關的工作,主要負責的是大資料計算這塊的內容。最近hive集群跑任務總是會出現thrift連線hs2相關問題,研究了解了下內部原理,突然來了興趣,就想著自己也實現乙個rpc框架,這樣可以讓自己在設計與實現rpc框架過程中,也能從中了解和解決...