これはおそらく私には明らかなはずですが、それでも次のことを確認したいと思います...
特定のチャネルと、OrderedMemoryAwareThreadPoolExecutorおよび次の形式のクライアントを使用するNIONettyサーバーがあるとします。
- OIOブロッキングクライアント-応答の順序が要求の順序と一致することを期待しています。
- ブロッキング読み取りを使用するNIOクライアント-応答の順序が要求の順序と一致することを期待しています。
- 純粋なNIO非同期クライアント(ブロッキング読み取りなし) -応答の順序が要求の順序と一致することは期待していません。
まず、上記が間違っているかどうか教えてください。もしそうなら、私を訂正してください。
アサーション3)の場合、サーバーは引き続き各イベントを受信した順序で要求を処理しますが、クライアントは非同期であるため、要求が送信される順序は予測できません。本当ですか?
したがって、応答の順序がクライアントの観点から異なるように見えるだけです。クライアントの非同期性のため、リクエストがサーバーに送信される順序は実際にはわかりません。
私が取り組んでいるプロジェクトについては、これについての理解を深める必要があるので、どんな助けでも大歓迎です。