本文介绍 HSF 应用开发时 JVM -D 启动参数的配置信息。

-Dhsf.server.port

指定 HSF 的启动服务绑定端口,默认为 12200。如果在本地启动多个 HSF Provider,则需要修改此端口。

-Dhsf.server.max.poolsize

指定 HSF 的服务端最大线程池大小,默认值为 720

-Dhsf.server.min.poolsize

指定 HSF 的服务端最小线程池大小,默认值为 60

-Dhsf.client.localcall

打开或者关闭本地优先调用,默认值为 true

-Dpandora.qos.port

指定 pandora 监控端口,默认值为 12201。如果在本地启动多个 HSF Provider,则需要修改此端口。

-Dhsf.http.enable

是否开启 http 端口,默认为 true

-Dhsf.http.port

指定 HSF 暴露的 http 接口,默认值为 12220。如果在本地启动多个 HSF Provider,则需要修改此端口。

-Dhsf.run.mode

指定 HSF 客户端是否指定 target 进行调用,即绕开 ConfigServer。值为 1 ,表示不允许指定 target 调用;值为 0 ,表示允许指定 target 调用。默认值为 1 时,不推荐指定为 0

-Dhsf.shuthook.wait

HSF 优雅关闭的等待时间,单位是 ms,默认是 10000

-Dhsf.publish.delayed

是否所有的服务都需要延迟发布,默认是 false,不需要延迟发布 。

-Dhsf.server.ip

指定需要绑定的 IP 地址。在多网卡情况下默认绑定第一个网卡,通过该参数指定需要绑定的 IP。

-DHsfBindHost

指定需要绑定的 Host 。在多网卡情况下默认绑定和上报给地址注册中心第一个网卡的 IP 地址,通过该参数可以指定需要绑定的 Host,列如 -DHsfBindHost=0.0.0.0 将 HSF Server 端口绑定本机所有网卡。

-Dhsf.publish.interval=400

指定发布服务之间的时间间隔。HSF 服务发布时会瞬间暴露出去,在应用启动时如果承受不住压力,可以配置该参数。默认值是 400,单位 ms。

-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 写缓冲的限制。

  • 客户端每个 channel 的写缓冲的限制,单位为 KB,一旦超过高水位,channel 禁写,新的请求放弃写出,直接报错。禁写之后,等到缓冲区低于低水位才能恢复。
  • 服务端每个 channel 的写缓冲的限制,单位为 KB,超过高水位时,新的响应放弃写出,客户端收不到响应会超时。缓冲区低于低水位时才能恢复写。
  • 高低水位需成对设置,并且需要高水位大于低水位。

-Dhsf.generic.remove.class=true

获取泛化调用的结果,但不输出 class 字段信息。

-DdefaultHsfClientTimeout

全局的客户端超时配置。

-Dhsf.invocation.timeout.sensitive

hsf.invocation.timeout.sensitive 默认值设置为 false,决定 HSF 调用时间是否包含创建连接、选址等耗时逻辑。