14.2. 创建代理集群


您可以通过在应加入集群的每个代理上配置集群连接来创建代理集群。集群连接定义了代理应该如何连接到其他代理。

您可以创建一个使用静态发现或动态发现的代理集群(UDP 多播或 JGroups)。

先决条件

14.2.1. 创建带有静态发现的代理集群

您可以通过指定代理的静态列表来创建代理集群。如果您无法在网络上使用 UDP 多播或 JGroups,请使用这个静态发现方法。

流程

  1. 打开 <broker_instance_dir>/etc/broker.xml 配置文件。
  2. <core> 元素中,添加以下连接器:

    • 定义其他代理如何连接到这个连接器
    • 一个或多个用来定义这个代理如何连接到集群中的其他代理的连接器
    <configuration>
        <core>
            ...
            <connectors>
                <connector name="netty-connector">tcp://localhost:61617</connector>  1
                <connector name="broker2">tcp://localhost:61618</connector>  2
                <connector name="broker3">tcp://localhost:61619</connector>
            </connectors>
            ...
        </core>
    </configuration>
    1
    此连接器定义了其他代理可用于连接此连接信息的连接信息。此信息会在发现过程中发送到集群中的其他代理。
    2
    broker2broker3 连接器定义了此代理如何连接到集群中的另外两个代理,其中一个将始终可用。如果集群中存在其他代理,则在进行初始连接时,其中一个连接器会发现它们。

    有关连接器的详情请参考 第 2.3 节 “关于连接器”

  3. 添加集群连接并将其配置为使用静态发现。

    默认情况下,集群连接将对对称拓扑中所有地址的消息进行负载均衡。

    <configuration>
        <core>
            ...
            <cluster-connections>
                <cluster-connection name="my-cluster">
                    <connector-ref>netty-connector</connector-ref>
                    <static-connectors>
                        <connector-ref>broker2-connector</connector-ref>
                        <connector-ref>broker3-connector</connector-ref>
                    </static-connectors>
                </cluster-connection>
            </cluster-connections>
            ...
        </core>
    </configuration>
    cluster-connection
    使用 name 属性指定集群连接的名称。
    connector-ref
    定义其他代理如何连接到这个连接器的连接器。
    static-connectors
    此代理可用于与集群中的其他代理进行初始连接的一个或多个连接器。建立此初始连接后,代理将发现集群中的其他代理。只有在集群使用静态发现时,才需要配置此属性。
  4. 为集群连接配置任何附加属性。

    这些额外的集群连接属性具有适合大多数常见用例的默认值。因此,当您不想默认行为时,您只需要配置这些属性。如需更多信息,请参阅 附录 C, 集群连接配置元素

  5. 创建集群用户和密码。

    AMQ Broker 附带默认集群凭证,但您应该更改这些凭证以防止未经授权的远程客户端使用这些默认凭证连接到代理。

    重要

    群集密码必须在集群中的每个代理上都相同。

    <configuration>
        <core>
            ...
            <cluster-user>cluster_user</cluster-user>
            <cluster-password>cluster_user_password</cluster-password>
            ...
        </core>
    </configuration>
  6. 对每个其他代理重复此步骤。

    您可以将集群配置复制到每个额外代理中。但是,请勿复制任何其他 AMQ 代理数据文件(如绑定、日志和大型消息目录)。这些文件必须在群集中的节点之间唯一,否则群集无法正确组成。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.