2017-01-16 1 views
0

異なるポート(HTTP/S、WebSocket、MQTT、TCPなど)でリッスンする8つのNetty Server Channelsがあります。ソースコードから、私はこのサーバーのすべてが同じアロケータ - ByteBufAllocator.DEFAULTを共有することがわかります。だから私の質問は - 別のサーバー間で同じアロケータを使用することをお勧めの方法ですか?あるいは、すべてのサーバーに別々のアロケータを作成できますか?このように:異なるNetty ServerChannel間で同じByteBufアロケータを共有する必要がありますか?

[OK]を
ByteBufAllocator allocator = new PooledByteBufAllocator(); 
b.childOption(ChannelOption.ALLOCATOR, allocator) 
b.option(ChannelOption.ALLOCATOR, allocator) 

答えて

0

、同じ質問を持っている人のためのように - 実際に少ないメモリを割り当てます、その場合には、あなたのアプリとして、デフォルトのアロケータを再利用することをお勧めします。ただし、リスニングソケットごとに独自のアロケータを作成すると、チャネル間の競合レベルが低下します。しかし、ほとんどのアプリでは、これは単一のアロケータが優れているケースではありません。

関連する問題