Мы пытаемся использовать NETTY для HTTP / 2 трафик c от клиента к серверу. Размер данных, отправляемых от клиента на сервер, составляет примерно 1,3 КБ (он варьируется, но ограничен 1,3 КБ).
Это строка CSV с некоторыми заголовками.
Проблема, с которой мы сталкиваемся, заключается в том, что HTTP / 2 разбивает содержимое на несколько кадров, на стороне сервера мы получаем несколько фрагментов для одной и той же записи. Для агрегирования на стороне сервера нам необходимо сохранить идентификатор потока и соответствующие данные в некоторой карте, а затем дождаться окончания потока в последующих пакетах, чтобы добавить данные и, наконец, получить обратно полный CSV.
Это увеличивает объем памяти на стороне сервера, и при нагрузке даже 30К просто не работает.
Через некоторое время сервер зависает и клиент перестает отправлять запрос.
Есть ли способ, с помощью которого я могу эффективно агрегировать данные на стороне сервера или лучше, гарантировать, что данные, полученные в OnDataRead (), действительно полные, чтобы я мог вызвать свой бизнес-лог c и освободить netty.