它的底层是采用Socket通信和动态代理实现的,首先服务端启动时,会在注册中心上发布服务,其实就是接口的描述信息,客户端启动时,根据需要从注册中心订阅自己所需要的服务,也就是接口描述信息,生成一个代理类,用于访问服务端的代码,Dubbo的底层使用Socket来建立一个长连接,发送接收数据,客户端传输信息的时候,应将客户端需要调用哪个服务的接口的全类名,接口的方法名,以及参数的类型和返回值类型等一并通过Socket传输给服务端,服务端获取到信息后,可以通过接口的全类名通过反射的方式在服务端容器中获取一个实例,在依据客户端传输来的方法名,和参数类型获取一个method,调用methods.invoke执行这个方法,在通过Socket方式将返回值写回到客户端,这就Dubbo底层的通信过程。
Dubbo通信底层分析
最新推荐文章于 2024-06-25 10:20:00 发布