24.2.2. 将默认 JGroups 频道切换为使用 TCP
默认情况下,集群节点使用为 ee JGroups 频道配置的 udp 协议堆栈进行通信。
<channels default="ee">
<channel name="ee" stack="udp"/>
</channels>
<stacks>
<stack name="udp">
<transport type="UDP" socket-binding="jgroups-udp"/>
<protocol type="PING"/>
...
</stack>
<stack name="tcp">
<transport type="TCP" socket-binding="jgroups-tcp"/>
<protocol type="MPING" socket-binding="jgroups-mping"/>
...
</stack>
</stacks>
使用多播配置 TCP
某些网络仅允许使用 TCP。使用以下管理 CLI 命令,切换 ee 频道以使用预配置的 tcp 堆栈:
/subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcp)
此默认 tcp 堆栈使用 MPING 协议,它使用 IP 多播来发现初始群集成员资格。
在没有多播的情况下配置 TCP
当安全策略不首选或允许多播时,您可以将默认协议堆栈更改为使用 TCP。要在没有多播的情况下配置基于 TCP 的集群,请执行以下步骤:
运行以下命令,将
ee频道切换为使用 JGroups 子系统中预先配置的tcp堆栈:<channel name="ee" stack="tcp" cluster="ejb"/>设置集群节点的名称:
在独立配置模式中,执行以下步骤之一:
运行以下命令:
<server xmlns="urn:jboss:domain:8.0" name="node_1">-
在启动实例时,为系统属性
jboss.node.name指定唯一名称。
在域模式中,集群服务器在 server 标签的
host-*.xml文件中列出。默认配置指定以下服务器名称,您可以根据需要进行编辑。<servers> <server name="server-one" group="main-server-group"/> <server name="server-two" group="other-server-group"> <socket-bindings port-offset="150"/> </server> </servers>
选择以下协议之一来发现其他群集成员: