Ich habe von Netty website auf dem Proxy-Server Beispiel sucht über:Ist der Netty-Handler für jede Verbindung eindeutig?
Die Codebeispiel Quelle Handler hat eine flüchtige Variable
private volatile Channel outboundChannel;
die Pflege des Kanals nimmt, die für Proxy auf einen anderen Server verbindet.
Das hat mich gefragt, ob dies die richtige und sichere Methode für mehrere Verbindungen für Proxy zu implementieren ist.
Ich möchte mehrere Verbindungen (eingehend) erlauben, um zu verschiedenen Outbounds zu verbinden, während sichergestellt wird, dass jede eingehende Verbindung eindeutig mit dem Ausgangskanal verbunden ist.
Nach meinem Wissen erzeugt Netty eine neue Pipeline für jede Verbindung. Bedeutet dies, dass eine neu generierte Handler-Pipeline-Fabrik eindeutig der neuen Verbindung (dem Kanal) zugeordnet ist?
p.s. Wenn ich 1.000 aktive Verbindungen zu meinem Netty-Server habe, bedeutet das, dass es 1000 verschiedene Pipelines gibt?
Richtig, aber wenn ich einen exklusiven Channel-Handler für jede Verbindung deklariere (also jede Pipeline), bedeutet das, dass der Channel-Handler nur für diese spezifische Verbindung bestimmt ist? – wns349
Korrekt. Sie könnten einen gegebenen Handler als Sharable neu implementieren, indem Sie den gesamten Status in Anlagen oder ChannelLocals beibehalten. – Nicholas
Ich mache mir Sorgen über das Problem der Ressourcenerfassung. Wie kann ich die Handler-Ressource nach der Verwendung freigeben? –