Éléments de l’architecture de Netty

Voici un schéma simplifié de l’architecture interne de Netty :

images/04ep01.png

Comme nous le verrons plus en détail dans la suite de ce chapitre, la partie Boss s’occupe de gérer la mise en file d’attente des demandes et délègue ensuite à des workers bloquants et non bloquants le traitement de ces demandes.

1. Canal (channel) Canal

Le canal (channel en anglais), est la base de Java NIO. Il représente une connexion ouverte capable d’effectuer des opérations d’entrée/sortie telles que la lecture et l’écriture.

2. Interfaces Future et ChannelFuture ChannelFuture

Chaque opération d’entrée/sortie sur un canal dans Netty est non bloquante.

Cela signifie que chaque opération rend la main immédiatement après l’appel. Il existe une interface Future dans la bibliothèque Java standard, mais ce n’est pas pratique pour Netty. En effet, un Future ne permet que de demander l’achèvement d’une opération ou de bloquer le thread en cours jusqu’à ce que l’opération soit terminée.

C’est pourquoi Netty possède sa propre interface ChannelFuture. Nous pouvons passer un callback à ChannelFuture qui est appelé à la fin de l’opération.

3. Événements et handlers

Netty utilise un paradigme d’application piloté par les événements. Le pipeline...

Pour consulter la suite, découvrez le livre suivant :
couv_EPREAJASP.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Introduction
Suivant
Exemples