第 2 章 网络连接:acceptors 和 Connectors


AMQ Broker 使用两种连接:网络和 In-VM。当双方位于不同的虚拟机时,都会使用网络连接,无论同一服务器还是物理远程。当客户端(应用程序还是服务器)驻留在与代理相同的虚拟机中时,会使用 In-VM 连接。

网络连接依赖于 Netty。Netty 是高性能的低级别网络库,它允许以几种不同方式配置网络连接:使用 Java IO 或 NIO、TCP 套接字、SSL/TLS,甚至通过 HTTP 或 HTTPS 进行隧道配置。Netty 还允许单个端口用于所有消息传递协议。代理将自动检测使用哪个协议,并将传入的消息定向到适当的处理程序以便进一步处理。

网络连接配置中的 URI 决定其类型。例如,在 URI 中使用 vm 将创建一个 In-VM 连接。在以下示例中,请注意接受者的 URI vm 开头。

<acceptor name="in-vm-example">vm://0</acceptor>

在 URI 中使用 tcp,也可以创建网络连接。

<acceptor name="network-example">tcp://localhost:61617</acceptor>

本章首先讨论专用于网络连接、验收器和连接器的两个配置元素。接下来,会解释 TCP、HTTP 和 SSL/TLS 网络连接以及 In-VM 连接的配置步骤。

2.1. 关于接受者

在讨论 AMQ Broker 中的网络连接时,最重要的概念之一是接受者。接收器定义连接到代理的方式。以下是在配置文件 BROKER_INSTANCE_DIR/etc/broker.xml 中找到的接受人员的典型配置。

<acceptors>
   <acceptor name="example-acceptor">tcp://localhost:61617</acceptor>
</acceptors>

请注意,每个 接受 者都在接受者元素内分组。对于每个服务器可以列出的接受者数量,没有上限。

配置 Acceptor

您可以通过将键值对附加到为接受或 定义的 URI 的查询字符串来配置接收器。 使用分号(';')来分隔多个键值对,如下例中所示。它通过在 URI 的末尾添加多个键值对来为 SSL/TLS 配置接受器,从 sslEnabled=true 开始。

<acceptor name="example-acceptor">tcp://localhost:61617?sslEnabled=true;key-store-path=/path</acceptor>

有关 连接器 配置参数的详细信息,请参阅 Acceptor 和 Connector Configuration Parameters

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.