24.2.4. 配置 TCPGOSSIP
此流程创建一个新的 JGroups 堆栈,它使用 TCPGOSSIP
协议来使用外部 Gosip 路由器发现群集的成员。我们提供了一个基础脚本,该脚本可创建 tcpgosip
堆栈,并将 default ee
通道设置为使用此新堆栈。此脚本中的管理 CLI 命令必须为您的环境自定义,并将作为批处理处理。
将以下脚本复制到文本编辑器中,并将它保存到本地文件系统。
# Define the socket bindings /socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=jgroups-host-a:add(host=HOST_A,port=13001) batch # Add the tcpgossip stack /subsystem=jgroups/stack=tcpgossip:add /subsystem=jgroups/stack=tcpgossip/transport=TCP:add(socket-binding=jgroups-tcp) /subsystem=jgroups/stack=tcpgossip/protocol=TCPGOSSIP:add(socket-bindings=[jgroups-host-a]) /subsystem=jgroups/stack=tcpgossip/protocol=MERGE3:add /subsystem=jgroups/stack=tcpgossip/protocol=FD_SOCK:add /subsystem=jgroups/stack=tcpgossip/protocol=FD_ALL:add /subsystem=jgroups/stack=tcpgossip/protocol=VERIFY_SUSPECT:add /subsystem=jgroups/stack=tcpgossip/protocol=pbcast.NAKACK2:add /subsystem=jgroups/stack=tcpgossip/protocol=UNICAST3:add /subsystem=jgroups/stack=tcpgossip/protocol=pbcast.STABLE:add /subsystem=jgroups/stack=tcpgossip/protocol=pbcast.GMS:add /subsystem=jgroups/stack=tcpgossip/protocol=MFC:add /subsystem=jgroups/stack=tcpgossip/protocol=FRAG2:add # Set tcpgossip as the stack for the ee channel /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcpgossip) run-batch reload
请注意,定义的协议的顺序非常重要。您还可以通过传递
add-index 值到 add
命令,将协议插入到特定的索引中。索引基于零,因此以下管理 CLI 命令添加
UNICAST3
协议作为第七个协议:/subsystem=jgroups/stack=tcpgossip/protocol=UNICAST3:add(add-index=6)
为您的环境修改 脚本。
-
如果您在受管域中运行,则必须通过 /profile=
PROFILE_NAME在
。/subsystem=jgroups
命令之前指定要更新的配置集 根据您的环境调整以下属性:
-
套接字绑定:
以逗号分隔的主机和端口组合列表,这些组合被视为众所周知的,并可用于查找初始成员身份。有关定义套接字绑定的更多信息,请参阅配置套接字绑定。 -
initial_hosts
:以逗号分隔的主机和端口组合列表,使用语法HOST[PORT ],
这些 [ PORT ] 被视为广为人知且可用于查找初始成员资格,如host1[1000],host2[2000]
。 -
port_range
:此属性用于将initial_hosts
端口范围扩展为指定的值。例如,如果您将initial_hosts
设置为host1[1000],host2[2000]
,并且port_range
设为1
,则initial_hosts
设置将扩展到host1[1000],host1[1001],host2[2000],host2[2001]
。此属性仅适用于initial_hosts
属性。 -
reconnect_interval
:断开连接的 stub 尝试重新连接到 gossip 路由器的间隔(以毫秒为单位)。 -
sock_conn_timeout
:套接字创建的最大时间。默认值为1000
毫秒。 -
sock_read_timeout
:阻止读取的最大时间(以毫秒为单位)。值0
将无限期阻止。
-
-
如果您在受管域中运行,则必须通过 /profile=
通过将 脚本文件传递到管理 CLI 来运行 脚本。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/SCRIPT_NAME
TCPGOSSIP 堆栈现已可用,TCP 用于网络通信。此堆栈配置为与 gossip 路由器搭配使用,以便 JGroups 群集成员能够查找其他群集成员。