1. 程式人生 > >netty實現的RPC框架

netty實現的RPC框架

自己手擼了一個nettyRPC框架,希望在這裡給有興趣的同學們做個參考。

要想實現nettyrpc需要了解的技術要點如下:

spring的自定義註解、spring的bean的有關初始化。

反射和動態代理的使用。

瞭解socket的使用。

瞭解zookeeper的使用。

瞭解nio原理。

瞭解netty的基本操作。

再瞭解了以上的技術要點後,就可以開始我們的自定義nettyrpc框架之旅了。

沒有操作過以上技術的同學也不用擔心,我前面的幾篇部落格都是介紹這幾個技術要點的,大家可以先去了解一下前面的技術再來構建框架。

我把這幾篇部落格的程式碼和這次框架的原始碼都上傳到了github上,全部封裝在了一個專案裡,大家可以克隆到自己的本地學習。

在這裡我不想講很多的原理,需要學習框架原理的可以自己去查詢相關的資料學習,我主要是給大家擼框架的程式碼實現幫助。

首先我們的框架架構主要如下所示:

client是rpc客戶端的實現,這個是框架裡的客戶端實現,不是操作框架的客戶端,大家一定要弄明白;common包主要是封裝了一些常量;proxy包是代理和反射的使用;registry包是服務的註冊和發現;server是服務端的實現;utils主要是編碼和序列化有關的操作。

框架開發完,我們完成呼叫框架的客戶端和服務端的開發。

RpcBootstrap啟動伺服器,ClientTest啟動客戶端

服務端啟動結果:

客戶端結果:

對框架程式碼有不懂得,可以先去學習前面的幾篇部落格,原始碼都在github上有。