【发布时间】:2019-08-15 20:53:11
【问题描述】:
在阅读了 netty 指南和示例后,我仍然有一些问题:
我的应用与多个第三方端点进行通信。为此,我使用了用 Netty 实现的 http 客户端。 所以基本上流程如下
- Http调用执行操作1 --一些业务逻辑处理--
- Http调用执行操作2 --一些业务逻辑处理--
- Http调用执行操作3 --一些业务逻辑处理--
每个操作都在不同的线程中执行。
Q1:我是否需要为每个新请求创建和关闭通道,或者我只需要为每个 endoint 重用相同的通道并使用它直到可用。
Q2:当我与多个系统通信时,我想我必须使用某种通道池?
Q3:如果我必须重用频道,如何处理关闭的频道。假设我有多个线程想要触发对同一通道的 http 请求,而第一个线程因为连接关闭而失败。我是否需要协调/锁定线程以等待新通道的创建并仅在新通道再次打开后才允许继续?
Q4:我何时希望每个端点拥有多个通道? (也许我想利用更好的处理器内核?)
【问题讨论】: