¿Qué es un protocolo multicanal?
El objetivo principal de Netty es construir un servidor de protocolo de alto rendimiento basado en NIO, con componentes de lógica empresarial y de red separados y poco acoplados. Puede implementar múltiples protocolos, como HTTP o su propio protocolo específico.
Netty tiene una serie de características ricas: una API unificada para manejar modos de programación asincrónicos y sincrónicos; un mecanismo de subprocesamiento simple pero poderoso que se separa para minimizar la copia de memoria innecesaria;
Componentes centrales de la red de datos extendida
1. Canales
Los canales son la base de Java NIO. Representa una conexión abierta que puede realizar operaciones de IO (como lectura y escritura). En pocas palabras, Canal representa conexión, conexión entre entidades, conexión entre programas, conexión entre archivos y conexión entre dispositivos. También es el transportista de entrada y salida de datos.
2. En el futuro
Cada operación de IO en el canal Netty no es bloqueante. Esto significa que todas las operaciones regresan inmediatamente después de ser llamadas. Hay una interfaz Future en la biblioteca estándar de Java, pero es un inconveniente para Netty: solo podemos pedirle a Future que complete la operación o bloquear el hilo actual antes de que se complete la operación. Por eso Netty tiene su propia interfaz ChannelFuture. Puede pasar una devolución de llamada a ChannelFuture que se llamará cuando se complete la operación.