集群通道对象
目录
介绍
集群通道是我们昵称为 Apache Tribes 的小型框架的主要组件。
该通道管理一组子组件,它们共同创建了一个组通信框架。
此框架随后由需要在不同 Tomcat 实例之间发送消息的组件在内部使用。
这些组件的一些例子包括为 DeltaManager 进行消息传递的 SimpleTcpCluster,或者使用不同复制策略的 BackupManager。ReplicatedContext 对象也使用通道对象来通信上下文属性的更改。
该通道管理一组子组件,它们共同创建了一个组通信框架。
此框架随后由需要在不同 Tomcat 实例之间发送消息的组件在内部使用。
这些组件的一些例子包括为 DeltaManager 进行消息传递的 SimpleTcpCluster,或者使用不同复制策略的 BackupManager。ReplicatedContext 对象也使用通道对象来通信上下文属性的更改。
嵌套组件
通道/成员管理:
成员管理组件负责自动发现集群中的新节点,并为任何未响应心跳的节点提供通知。默认实现使用多播。
在成员管理组件中,您可以配置如何发现和/或划分您的节点,即成员。您可以随时了解更多关于 Apache Tribes 的信息。
通道/发送器:
发送器组件管理所有出站连接以及通过网络从一个节点发送到另一个节点的数据消息。此组件允许并行发送消息。默认实现使用 TCP 客户端套接字,并在此处配置出站消息的套接字调优。
您可以随时了解更多关于 Apache Tribes 的信息。
通道/发送器/传输:
传输组件是发送器组件的底层 IO 层。默认实现使用非阻塞 TCP 客户端套接字。
您可以随时了解更多关于 Apache Tribes 的信息。
通道/接收器:
接收器组件监听来自其他节点的消息。在此处,您将配置集群线程池,因为它会将传入消息分派到线程池以进行更快处理。默认实现使用非阻塞 TCP 服务器套接字。
您可以随时了解更多关于 Apache Tribes 的信息。
通道/拦截器:
通道将通过一个拦截器堆栈发送消息。因此,您可以自定义消息的发送和接收方式,甚至可以自定义成员管理方式。
您可以随时了解更多关于 Apache Tribes 的信息。
属性
通用属性
属性 | 描述 |
---|---|
className | 这里的默认值是 org.apache.catalina.tribes.group.GroupChannel ,并且是目前唯一可用的实现。 |
org.apache.catalina.tribes.group.GroupChannel 属性
属性 | 描述 |
---|---|
heartbeat | 标志通道是否管理自己的心跳。如果设置为 true,通道将启动一个本地线程用于心跳。如果将此标志设置为 false,则必须将 SimpleTcpCluster#heartbeatBackgroundEnabled 设置为 true。默认值为 true。 |
heartbeatSleeptime | 如果 heartbeat == true,指定心跳线程的间隔(毫秒)。默认值为 5000(5 秒)。 |
optionCheck | 如果设置为 true,GroupChannel 将检查每个拦截器使用的选项标志。如果两个拦截器共享相同的标志,则报告错误。默认值为 false。 |
jmxEnabled | 标志通道组件是否注册到 JMX。默认值为 true。 |
jmxDomain | 如果 jmxEnabled 设置为 true,指定此通道应注册到的 JMX 域。ClusterChannel 用作默认值。 |
jmxPrefix | 如果 jmxEnabled 设置为 true,指定将与通道 ObjectName 一起使用的 JMX 前缀。 |