Articles of netty

HTTP hautement simultané avec Netty et NIO

Je travaille sur l’ exemple de code du client HTTP Netty afin de faire des requêtes http dans un environnement threadé simultané. Cependant, mon système tombe en panne complètement (avec une multitude d’exceptions) à un débit assez faible. Dans presque pseudo-code: ClientBootstrap bootstrap = new ClientBootstrap(new NioClientSocketChannelFactory()) bootstrap.setPipelineFactory(new HttpClientPipelineFactory()); ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port)); […]

Différentes versions de Netty et leurs objectives

J’utilise Netty depuis un moment maintenant et je ne pourrais jamais résoudre cette question. On peut télécharger quatre versions différentes. Trois d’entre eux sont activement en train de se développer. 3.x 4.0.x 4.1.x 5.x Autant que je sache, 3.x est pour JRE 1.5 et tout le rest pour JRE est supérieur à cela. J’utilise 4.0.28 […]

Netty: Devrais-je fermer la chaîne s’il s’agit d’une connexion “Keep-Alive”?

J’écris un serveur HTTP avec Netty. J’ai défini l’option de maintien en vie lorsque je crée un amorçage de serveur. bootstrap.setOption(“child.keepAlive”, true); Chaque fois que j’écris une réponse HTTP, je définis l’en-tête Keep-Alive et ferme le canal après avoir écrit la réponse. rep.setHeader(“Connection”, “keep-alive”); channel.write(rep).addListener(ChannelFutureListener.CLOSE); Je ne sais pas si je suis censé fermer la […]

Quelle est la meilleure façon de vous reconnecter après la fermeture de la connexion dans Netty

Scénario simple: Une classe de niveau inférieur A qui étend SimpleChannelUpstreamHandler. Cette classe est le bourreau de travail pour envoyer le message et a reçu la réponse. Une classe B de niveau supérieur qui peut être utilisée par une autre partie du système pour envoyer et recevoir un message (peut simuler à la fois synchrone […]

synchronisation / correspondance demande-réponse dans un contexte nio

J’ai une application client serveur (Java EE & Android), une communication via websockets. La communication fonctionne, ainsi que le protocole lui-même pour l’envoi d’objects au format json, qui sera correctement encapsulé, sérialisé, envoyé, désérialisé, non encapsulé et reconstruit. Les deux applications utilisent un autre projet de bibliothèque avec toutes les classes de demande et de […]

HashedWheelTimer vs ScheduledThreadPoolExecutor pour des performances supérieures

Je me demande quelle implémentation de timer utiliser si vous devez planifier des tonnes de tâches (non bloquantes) aussi rapidement que possible dans jvm sur une machine. J’ai étudié ScheduledThreadPoolExecutor sources ScheduledThreadPoolExecutor et HashedWheelTimer (+ documentation générale de la timer de roue) et voici les principales différences (N – nombre de toutes les tâches planifiées […]

Le certificate SSL ECC du client contient une «courbe nommée inconnue»

Question precontext: Je travaille dans une bibliothèque existante qui utilise SSL avec le framework netty sur un serveur distant. Je rencontre une erreur de négociation SSL / TLS. L’erreur est la suivante: javax.net.ssl.SSLProtocolException: java.io.IOException: Unknown named curve: 1.2.840.10045.3.1.1 at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1345) ~[na:1.7.0_79] at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:519) ~[na:1.7.0_79] at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:799) ~[na:1.7.0_79] at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:767) ~[na:1.7.0_79] at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) ~[na:1.7.0_79] at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:982) […]

EC2 Storm cluster problèmes Netty

J’ai la configuration EC2 suivante: 1) 3 nœuds m4.xlarge pour un ensemble ZooKeeper à 3 nœuds et un nimbus 2) 4x m4.xlarge noeuds pour mes superviseurs. Toutes les machines exécutent Ubuntu Linux v14, OpenJDK v1.7 et Apache Storm v0.9.4. Le storm.yaml que je rencontre actuellement dans le nœud Nimbus (uniquement) a les valeurs suivantes: storm.home: […]

Fuite de mémoire Netty 4.0.19.Final avec l’entrée $ io.netty.channel.ChannelOutboundBuffer

Il semble que je rencontre des problèmes de mémoire récurrents avec Netty 4. Mon application demande des informations aux serveurs Minecraft et met à jour une firebase database avec ces informations. Actuellement, il crée 300 demandes de connexion toutes les 10 secondes et envoie des paquets si ces connexions aboutissent. Une précédente itération de mon […]

Utilisation de org.slf4j.MDC avec les canaux Netty?

Comment utiliser MDC avec des pools de threads? demande, mais avec Netty. Je veux des informations MDC associées par Channel . Quelles sont les options pour Netty? Si j’ai besoin de réinitialiser manuellement MDC, quelles méthodes puis-je utiliser pour le faire à partir d’un endroit?