ServerConfiguration - minbox-projects/message-pipe GitHub Wiki
ServerConfiguration 类提供了定制配置消息处理服务端(Server
)的一些相关参数。
配置示例
我们在项目中使用也很简单,只需要将实例化后的配置对象注册到IOC
容器内即可,当然注册的方式有很多种,下面我们以@Bean
注解为例:
/**
* 实例化服务端配置
*
* @return The {@link ServerConfiguration} instance
*/
@Bean
public ServerConfiguration serverConfiguration() {
return new ServerConfiguration()
.setExpiredExcludeThresholdSeconds(10)
.setCheckClientExpiredIntervalSeconds(5);
}
配置参数
serverPort
配置服务端(Server
)的端口号,该端口号主要是用于客户端(Client
)配置注册时使用。
默认端口号:5200。
注意事项:该配置参数并不是项目启动时的HTTP端口号,而是内部grpc服务端的端口号。
expiredPoolSize
如果服务端启动时采用的grpc方式,会同时启动一个客户端过期检查的子线程,该配置参数则是配置过期检查线程池的线程数量。
expiredExcludeThresholdSeconds
配置检查客户端是否过期的时间阀值,单位:秒,默认值:30秒。
如果客户端 上一次心跳 发送 心跳的时间 距离 当前时间 的间隔秒值大于expiredExcludeThresholdSeconds
阀值时,会根据之前客户端的上下线状态进行修改目前状态值。
一个例子:如果客户端
10.0.0.1:5201
上一次发送心跳的时间为:2020-9-5 18:42:00,而检查线程执行时的时间为:2020-9-5 18:42:59,时间间隔为59秒,由于之前客户端一直在发送心跳所以状态为 上线,59秒如果超出了时间阀值,那么当前这个客户端的状态就会修改为 下线,反之则会修改为 上线。
checkClientExpiredIntervalSeconds
配置每次检查客户端过期的时间间隔,单位:秒,默认值:10秒。
maxMessagePipeCount
配置服务端所支持的最大消息管道的数量,如果超出该配置数量后,在建立新的消息管道时会抛出检查异常。
默认值:100。