很长一段时间没有关注 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 客户端会发送心跳。