После прочтения руководств и примеров netty у меня все еще остаются вопросы:
Мое приложение взаимодействует с несколькими сторонними конечными точками.Для этого я использую http-клиент, реализованный с помощью Netty.Таким образом, в основном поток представляет собой следующий
- Http-вызов для выполнения операции 1 - некоторая обработка бизнес-логики -
- Http-вызов для выполнения операции 2 - некоторая обработка бизнес-логики--
- Http-вызов для выполнения операции 3 - некоторая обработка бизнес-логики -
Каждая операция выполняется в другом потоке.
Q1: Нужно ли создаватьи закрывать канал для каждого нового запроса, или мне просто нужно повторно использовать один и тот же канал для каждого конца и использовать его, пока он не станет доступным.
Q2: Поскольку я общаюсь с несколькими системами, я полагаю, что я должен использовать какой-то пул каналов?
Q3: Если мне нужно повторно использовать канал, как обращаться с закрытым каналом.Допустим, у меня есть несколько потоков, желающих инициировать http-запрос к одному и тому же каналу, и первый отказывает, потому что соединение закрыто.Нужно ли координировать / блокировать потоки, чтобы дождаться создания нового канала и разрешить продолжить только после того, как новый канал снова открыт?
В4: Когда я захочу иметь более одного канала на конечную точку?(Возможно, если я захочу использовать лучшие процессорные ядра?)