客户端属性配置

本篇主要讲解如何在客户端接入时配置 ShenYu 的相关属性。

在你的微服务中设置shenyu属性,比如,在shenyu-examples-http 中相关配置如下:

客户端属性配置 - 图1

属性配置

  1. shenyu:
  2. client:
  3. registerType: http #zookeeper #etcd #nacos #consul
  4. serverLists: http://localhost:9095 #localhost:2181 #http://localhost:2379 #localhost:8848
  5. props:
  6. contextPath: /http
  7. appName: http
  8. port: 8189

属性详解

shenyu.client 配置

这是客户端接入的相关配置,客户端接入原理请参考:客户端接入原理 ,客户端接入配置请参考: 客户端接入配置

名称类型默认值是否必填说明
registerTypeStringhttp必填使用哪种方式进行服务注册,当前支持 httpzookeeperetcdconsulnacos
serverListsString必填配置中心的地址。集群时,多个地址用 , 分开 。
props使用不同注册类型时,属性取值不同。
  • props配置

微服务由不同协议构建时,属性配置略有不同,通用属性如下:

名称类型默认值是否必填说明
contextPathString服务在网关中的路由前缀
appNameString服务名称。springcloud服务无需配置,请通过spring.application.name配置。
hostString服务地址
portint服务端口
isFullbooleanfalse是否代理整个服务,目前适用于springmvc/springcloud
ipAndPortString服务的IP和端口地址,目前适用于gRPC
shutdownWaitTimeint3000服务停止等待时间(毫秒)
delayOtherHooksExecTimeint2000hook执行时间(毫秒)
applicationShutdownHooksClassNameStringjava.lang.ApplicationShutdownHookshook执行类
applicationShutdownHooksFieldNameStringhookshook执行字段

使用不同的注册类型时,属性取值不同。 当注册类型为http时,暂未提供其他属性配置。

当注册类型为zookeeper时,支持的属性配置如下:

名称类型默认值是否必填说明
sessionTimeoutint30000session超时时间(毫秒)
connectionTimeoutint3000连接超时时间(毫秒)

当注册类型为etcd时,支持的属性配置如下:

名称类型默认值是否必填说明
etcdTimeoutint30000etcd超时时间(毫秒)
etcdTTLint5租约生存时间(秒)

当注册类型为nacos时,支持的属性配置如下:

名称类型默认值是否必填说明
nacosNameSpaceString命名空间
usernameString空字符串用户名
passwordString空字符串密码
accessKeyString空字符串accessKey
secretKeyString空字符串secretKey

当注册类型为consul时,暂未提供其他属性配置。请通过spring.cloud.consul进行配置。