本文介绍HSF应用开发时JVM -D启动参数的配置信息。
指定HSF的启动服务端口
-Dhsf.server.port
默认为12200。如果在本地启动多个HSF Provider,则需要修改此端口。
指定HSF的服务端最大线程池大小
-Dhsf.server.max.poolsize
默认值为720
。
指定HSF的服务端最小线程池大小
-Dhsf.server.min.poolsize
默认值为50
。
打开或者关闭本地优先调用
-Dhsf.client.localcall
默认值为true
。
指定Pandora监控端口
-Dpandora.qos.port
默认值为12201
。如果在本地启动多个HSF Provider,则需要修改此端口。
是否开启HTTP端口
-Dhsf.http.enable
默认值为 true
。
指定HSF暴露的HTTP接口
-Dhsf.http.port
默认值为12220
。如果在本地启动多个HSF Provider,则需要修改此端口。
指定HSF客户端是否指定target进行调用,即绕开ConfigServer
-Dhsf.run.mode
值为1
,表示不允许指定target调用;值为0
,表示允许指定target调用。默认值为1
,不推荐指定为0
。
HSF优雅关闭的等待时间
-Dhsf.shuthook.wait
单位是ms,默认值是10000
。
是否所有的服务都需要延迟发布
-Dhsf.publish.delayed
默认是false,不需要延迟发布 。
指定需要绑定的IP地址
-Dhsf.server.ip
在多网卡情况下默认绑定第一个网卡,通过该参数指定需要绑定的IP。
指定需要绑定的Host
-DHsfBindHost
在多网卡情况下默认绑定和上报给地址注册中心第一个网卡的IP地址,通过该参数可以指定需要绑定的Host,例如-DHsfBindHost=0.0.0.0
将HSF Server端口绑定本机所有网卡。
指定发布服务之间的时间间隔
-Dhsf.publish.interval=400
HSF服务发布时会瞬间暴露出去,在应用启动时如果承受不住压力,可以配置该参数。默认值是400,单位ms。
指定客户端或者服务端的每个channel写缓冲的限制
-Dhsf.client.low.water.mark=32
,-Dhsf.client.high.water.mark=64
,-Dhsf.server.low.water.mark=32
,-Dhsf.server.high.water.mark=64
。
客户端每个channel的写缓冲的限制,单位为KB,一旦超过高水位,channel禁写,新的请求放弃写出,直接报错。禁写之后,等到缓冲区低于低水位才能恢复。
服务端每个channel的写缓冲的限制,单位为KB,超过高水位时,新的响应放弃写出,客户端收不到响应会超时。缓冲区低于低水位时才能恢复写。
高低水位需成对设置,并且需要高水位大于低水位。
获取泛化调用的结果,但不输出class字段信息
-Dhsf.generic.remove.class=true
。
全局的客户端超时配置
-DdefaultHsfClientTimeout
。
HSF调用时间是否包含创建连接、选址等耗时逻辑
-Dhsf.invocation.timeout.sensitive
默认值设置为false。