很長一段時間沒有關注 nacos 了,今天看了下代碼,發現其已經使用 grpc 替換了 http。
抽象出 com.alibaba.nacos.core.remote.RequestHandler,用來處理 grpc 的請求。
以 ConfigQueryRequestHandler 為例,它是一個查詢配置的 handler,繼承了抽象類 RequestHandler。
RequestHandlerRegistry 把所有的 handler 保存在一個 map 中。
GrpcRequestAcceptor 對請求進行路由,根據請求的類型,選擇對應的 RequestHandler 進行處理。
如果調試 server 代碼,暫且可以從 GrpcRequestAcceptor 作為入口。
客戶端對應的類是 RpcClient
啟動 nacos server 和 ConfigExample,發現了一些日志,客戶端創建的 stream id 是奇數,nacos 客戶端會發送心跳。