2.5. 配置 TCP 连接
AMQ 代理使用 Netty 提供基本、未加密、基于 TCP 的连接,这些连接可以配置为使用阻止 Java IO 或更新的非阻塞 Java NIO。Java NIO 是更好的可扩展性,具有多个并发连接。但是,当您不必担心支持数千个并发连接时,使用旧的 IO 有时会比 NIO 提供更好的延迟。
如果您在不受信任的网络连接中运行连接,您应该知道 TCP 网络连接是未加密的。如果安全性是优先级,您可能希望考虑使用 SSL 或 HTTPS 配置来加密通过此连接发送的消息。详情请查看 第 5.1 节 “保护连接”。
使用 TCP 连接时,所有连接都由客户端发起。代理不会启动与客户端的任何连接。这非常适用于强制从一个方向启动连接的防火墙策略。
对于 TCP 连接,主机和连接器 URI 的端口定义用于连接的地址。
以下示例演示了如何配置 TCP 连接。
先决条件
您应该熟悉配置接收器和连接器。如需更多信息,请参阅:
流程
-
打开
<broker_instance_dir>/etc/broker.xml
配置文件。 添加新的接收器或修改现有接收器。在连接 URI 中,指定
tcp 作为
协议。在代理中包含 IP 地址或主机名以及端口。例如:<acceptors> <acceptor name="tcp-acceptor">tcp://10.10.10.1:61617</acceptor> ... </acceptors>
根据前面的示例,代理接受来自通过 IP 地址
10.10.10.1
连接端口61617
的客户端的 TCP 通信。(可选)您可以采用类似的方式配置连接器。例如:
<connectors> <connector name="tcp-connector">tcp://10.10.10.2:61617</connector> ... </connectors>
在与指定的 IP 和端口
10.10.10.2:61617
进行 TCP 连接时,客户端甚至代理本身也会引用连接器。
其它资源
- 有关 TCP 连接的可用配置选项的详情,请参考 附录 A, 接收器和连接器配置参数。