次の特性を持つ既存の NIO サーバーコードベースを移行しようとしています - セレクターの制御下で接続の受け入れを実行する単一スレッド - ソケットの読み取り/書き込みを実行する複数のスレッド (1 つのスレッド: 1 つのセレクター: 受け入れられた接続の 1 つの SocketChannel)
単一の READ/WRITE スレッドが 1 つのセレクターを持つことができ、複数の受け入れられた SocketChannel が登録および登録解除できるモデルに移行したいと考えています。このようにして、1 つのスレッドが複数の SocketChannel を IO 用に多重化できます。
このモデルは、Boss スレッドが 1 つあり、構成可能なワーカー数があり、ワーカーごとに複数の接続がある Nettyのケースにすぐにマップされることを理解しています。ExecutionHandler は直交しているため、今のところそれを説明していません。
具体的な質問: 私は「Netty」ホイールを再発明していますか、それとも、接続が最大 5000 になる可能性があり、バイナリ プロトコルのメッセージ交換レートが 60 ~ 70K メッセージに達すると予想される、遅延の影響を受けやすいと予想されるサーバーに対する上記のアプローチに違いはありますか? /秒?
言及されている数値は、上記の設計の選択だけではなく、他の要因にも影響されることを理解しています. しかし、より大きな影響はデザインの選択によってもたらされる可能性があります - 少なくともそれは私が信じていることです
前もって感謝します