Cluster参数类
以下的类和接口定义了 SmartEDB 集群接口参数。
类定义
public static class ClusterNodeParams
{
public String addr;
public int qrank;
public ClusterNodeParams(String addr, int qrank)
{
this.addr = addr;
this.qrank = qrank;
};
public ClusterNodeParams(String addr)
{
this(addr, 1);
}
};
public static class ClusterNodeInfo
{
public String addr;
public int qrank;
public int nodeId;
public ClusterNodeInfo(String addr, int qrank, int nodeId)
{
this.addr = addr;
this.qrank = qrank;
this.nodeId = nodeId;
}
}
public static class ClusterWindow
{
public int length; /* in transactions */
public int bsize; /* in bytes */
public int timeout;
public ClusterWindow(int length, int bsize, int timeout)
{
this.length = length;
this.bsize = bsize;
this.timeout = timeout;
};
public ClusterWindow(int length)
{
this(length, 0, 1);
};
}
public abstract static class ClusterNWParams { };
public static class ClusterTCPParams extends ClusterNWParams
{
public int socketSendBuf;
public int socketRecvBuf;
public int connectTimeout;
public int connectInterval;
public int socketDomain;
public int keepAliveTime;
public int keepAliveProbes;
public int compressionLevel;
public Database.SSLParameters sslParameters;
public ClusterTCPParams()
{
socketSendBuf = 0;
socketRecvBuf = 0;
connectTimeout = 5 * 1000;
connectInterval = 200;
socketDomain = SOCK_INET_DOMAIN;
keepAliveTime = 1000;
keepAliveProbes = 10;
compressionLevel = 0;
sslParameters = null;
}
}
public static class ClusterMPIParams extends ClusterNWParams
{
public int flags;
public ClusterMPIParams()
{
flags = 0;
}
}
public interface ClusterQuorumCallback
{
public boolean checkQuorum(int neighborIds[]);
}
public interface ClusterNotifying
{
public static final int NODE_CONNECT = 0;
public static final int NODE_DISCONNECT = 1;
public void onNotify(int code, ClusterNodeInfo nodeInfo);
}
定义说明
ClusterNodeParams 及 ClusterNodeInfo
addr
本集群节点的 IP 地址
qrank
本集群节点的法定人数排名
nodeId
本集群节点的唯一整数标识符
ClusterWindow
length
每个窗口实例中的入站事务数量
bsize
窗口大小(以字节为单位)
timeout
窗口超时时间(以毫秒为单位)
ClusterTCPParams
socketSendBuf
发送缓冲区大小(以字节为单位)
socketRecvBuf
接收缓冲区大小(以字节为单位)
connectTimeout
连接超时时间(以毫秒为单位)
connectInterval
连接尝试之间的间隔(以毫秒为单位)
socketDomain
套接字域
keepAliveTime KEEP_ALIVE
消息的时间窗口(以毫秒为单位)
keepAliveProbes
在节点断开连接之前发送的保活探测次数
sslParameters
集群特定的 SSL 设置
ClusterMPIParams
flags
CLUSTER_MPI_BUSYWAIT 和/或 CLUSTER_MPI_SERIALIZED_SEND 的可能组合
Cluster Callbacks
ClusterQuorumCallback
当未达到集群仲裁时要调用的回调函数
ClusterNotifying
接收集群通知的回调函数