Construir Dubbo usando Netty

Dubbo es un marco RPC basado en Netty Para comprender mejor la aplicación de Netty en Dubbo, creamos una versión simple del marco RPC basado en Dubbo.

Toda la lógica de llamada es la siguiente:

1. El servidor productor inicia el servidor Netty.

2. El cliente consumidor inicia el cliente Netty a través del proxy dinámico JDK, se conecta al servidor productor a través de la dirección de registro y serializa la información de llamada de la interfaz (interfaz, método, parámetro, etc.) y luego lo envía al servidor productor.

3. Después de recibir el mensaje, el servidor productor llama al método correspondiente mediante reflexión y luego devuelve el resultado de la llamada al consumidor.

4. El consumidor recibe el resultado de la llamada del productor.

Nueva clase DubboRequest como portador de mensajes (equivalente a POJO)

Nueva interfaz de llamada del consumidor Dubbo IUserFacade

Nuevo interceptor del consumidor Dubbo

Nuevo Clase de proxy del servicio Dubbo

Nuevo consumidor de Dubbo

Nueva clase de implementación del lado del servidor de Dubbo Interceptor de productor de Dubbo

Servidor de productor de Dubbo

1. Inicie el servidor productor DubboServer.

2.2. Inicie el llamador consumidor DubboClient

La consola del cliente consumidor se muestra de la siguiente manera:

La consola del servidor productor se muestra a continuación. :

Dirección de origen: /MAXAmbitious/netty-study/tree/master/netty-dubbo dirección de origen.