2017-01-16 2 views
0

У меня есть 8 каналов Netty Server, прослушивающих разные порты (HTTP/S, WebSocket, MQTT, TCP и т. Д.). Из исходного кода я вижу, что все эти серверы будут использовать один и тот же распределитель - ByteBufAllocator.DEFAULT. Итак, мой вопрос - это рекомендуемый способ использования одного и того же распределителя среди разных серверов? Или я могу создать отдельный распределитель для каждого сервера? Как это:Должен ли я использовать один и тот же распределитель ByteBuf среди разных netty ServerChannels?

ByteBufAllocator allocator = new PooledByteBufAllocator(); 
b.childOption(ChannelOption.ALLOCATOR, allocator) 
b.option(ChannelOption.ALLOCATOR, allocator) 

ответ

0

Итак, для тех, у кого есть тот же вопрос - что лучше использовать повторно аллокатор по умолчанию в качестве приложения, в этом случае, будет на самом деле выделять меньше памяти. Однако создание собственного распределителя для каждого сокета-разъема приведет к снижению уровня конкуренции между каналами. Но что касается большинства приложений, это не тот случай, когда один распределитель лучше.

Смежные вопросы