У меня есть сервер с конвейером netty, где клиенты могут передавать сообщения на сервер через tcp. Когда я говорю «поток», клиент может писать сообщения, не дожидаясь, пока сервер отправит Ack / Nack для запросов.
Сервер должен обрабатывать сообщения из одного и того же канала последовательным образом. Теперь декодер считывает сообщения из канала на основе байтового смещения и передает их обработчику сообщений для бизнес-обработки. Эта бизнес-обработка выполняется специальной группой исполнителей событий.
Насколько я понимаю, как только декодер считывает определенные байты и передает их следующему обработчику, он может прочитать следующее смещение байта из socketchannel. Это означает, что если бизнес-обработка занята, сообщения из того же канала могут обрабатываться вне очереди.
Есть ли рекомендованный Netty способ справиться с этим сценарием? Я хочу, чтобы сообщения из одного и того же канала обрабатывались последовательно на всем пути. Можно обрабатывать несколько каналов параллельно.