Colección de citas famosas - Diccionario de frases chinas - Modelo multiproceso Reactor de Netty, NioEventLoop, introducción a ChannelPipeline

Modelo multiproceso Reactor de Netty, NioEventLoop, introducción a ChannelPipeline

Si buscas "Netty de alto rendimiento y fácil de usar" en Google, lo más probable es que veas esta imagen entre una gran cantidad de artículos encontrados, además de las palabras clave

NIO, Reactor Modelo de subprocesos múltiples, memoria fuera del montón, sin bloqueo en serie asíncrono, canalización. Después de leer estos artículos, puede tener una comprensión general de los principios de Netty, pero ¿cómo los implementa Netty? Este artículo explicará Netty de manera simple. como posible Implementación de subprocesos múltiples en Reactor. Si hay algún error, gracias por señalarlo.

El selector es un componente importante de NIO Channel y se puede registrar en Selector Channel. le interesa al registrarse:

Canal, canal, para facilitar la comprensión, lo divido en tres categorías

El modelo de subprocesos múltiples de Reactor se puede dividir en tres partes

mainReactor es responsable del acceso del cliente

El aceptador es responsable de entregar la conexión a la que se accede al subReactor

El subReactor es responsable de leer y escribir la conexión

Conocimiento clave:

Diagrama de flujo de operación

Conocimiento clave:

La idea de diseño de ChannelPipeline es el patrón de diseño de cadena de responsabilidad, que es una lista enlazada bidireccional compuesta por ChannelHandlerContext, con la cabeza y la cola fijadas en HeadContext y TailContext. Existen como centinelas. Cuando agregamos un ChannelHandler Al llegar a ChannelPipeline, se empaquetará en ChannelHandlerContext y luego se agregará

Propagación de eventos entrantes

El cliente envía un mensaje al servidor. Esta dirección de flujo se llama entrante. El mensaje comenzará desde Head y se pasará de izquierda a derecha hasta Tail. la operación final

propagación de eventos salientes

El servidor envía información al cliente. Esta dirección de flujo se llama saliente. El mensaje comenzará desde Tail y pasará por la transferencia de derecha a izquierda. conoce el Head y el Head realiza la operación final

Transferencia de excepción

Cuando una operación de ChannelHandler genera una excepción, se transferirá del controlador a Tail. la operación final Operación.

Para aprender Netty, es necesario comprender el modelo Reactor y combinarlo con la implementación de Netty. Cuando estaba aprendiendo Netty, fue porque no tenía un conocimiento profundo de esto. área, así que perdí mucho tiempo y fui ineficaz.** *Mian

/p/a9b2fec31fd1

/p/a9d030fec081

/p/2461535c38f3

https://juejin.im/post/5a126b146fb9a0450c490201