RPC 中服務消費端(Consumer) 需要請求服務提供方(Provider)的接口,必須要知道 Provider 的地址才能請求到。 那么,Consumer 要從哪里獲取 Provider 的地址呢? 能不能 Consumer 自己配置 Provider 的地址? 這種方式理論上是可行 ...
URL 的定義 URL 對於大部分程序猿來說都是很熟悉的,其全稱是 Uniform Resource Locator 統一資源定位器 。它是互聯網的統一資源定位標志,也就是指網絡地址。 一個標准的 URL 格式可以包含如下的幾個部分: protocol:協議,例如 http 協議 username password:用戶名 密碼 host port:主機 端口 path:請求路徑 paramete ...
2021-08-22 10:09 0 250 推薦指數:
RPC 中服務消費端(Consumer) 需要請求服務提供方(Provider)的接口,必須要知道 Provider 的地址才能請求到。 那么,Consumer 要從哪里獲取 Provider 的地址呢? 能不能 Consumer 自己配置 Provider 的地址? 這種方式理論上是可行 ...
前言 RPC 框架是后端攻城獅永遠都繞不開的知識點,目前業界比較知名有 Dubbo、Spring Cloud 等。很多人都停留在了只會用的階段,作為程序猿,擁有好奇心深入學習,才能有效提高自己的競爭力。再進一層的同學,會去翻源碼,看功能是如何實現的,這是很好的開始。看源碼過一段時間容易忘記 ...
網絡通信的開發,就涉及到一些開發框架:Java NIO、Netty、Mina 等等。 理論上來說,類似於序列化器,可以為其定義一套統一的接口,讓不同類型的框架實現,事實上,Dubbo 就是這么干的。 但是,作為一個簡單的 RPC 框架,ccx-rpc 就先不統一了,因為基本上網絡框架是不會換 ...
最近被人問到RPC相關的東西~突然發現還是有很多原理沒有清楚,所以要好好系統的學習一下RPC以及它的原理 先大致了解一下RPC的大概,原文:https://blog.csdn.net/top_code/article/details/54615853 --------------------------------------------------------------------- ...
RPC 框架有很多可擴展的地方,如:序列化類型、壓縮類型、負載均衡類型、注冊中心類型等等。 假設框架提供的注冊中心只有zookeeper,但是使用者想用Eureka,修改框架以支持使用者的需求顯然不是好的做法。 最好的做法就是留下擴展點,讓使用者可以不需要修改框架,就能自己去實現擴展。 JDK ...
Netty 在服務端與客戶端的網絡通信中,使用的是異步雙向通信(雙工)的方式,即客戶端和服務端可以相互主動發請求給對方,發消息后不會同步等響應。這樣就會有一下問題: 如何識別消息是請求還是響應 ...
一、心跳 什么是心跳 在 TPC 中,客戶端和服務端建立連接之后,需要定期發送數據包,來通知對方自己還在線,以確保 TPC 連接的有效性。如果一個連接長時間沒有心跳,需要及時斷開,否則服務端會維護 ...
我們在接下來會開始講網絡通信相關的內容了。既然是網絡通信,那必然會涉及到序列化的相關技術。 下面是 ccx-rpc 序列化器的接口定義。 接口只包含序列化、反序列化兩個最基礎的方法。不同的序列化器只需要實現這個接口即可,再配合 SPI 就可以使用了。 下面是 ccx-rpc 的一小 ...