Skip to main content
Version: 2.4.2

Tars插件

说明#

Tars插件是网关用于处理 Tars协议请求的核心处理插件。

插件设置#

插件讲解#

客户端接入Apache ShenYu网关后,会自动注册选择器和规则信息,可以在插件列表 -> rpc proxy -> tars 中查看。关于选择器和规则配置,请参考:选择器和规则管理

选择器处理#

选择器处理,即handle字段,是网关匹配到流量以后,实际调用的tars服务,可以配置多个,设置负载均衡权重,具体的负载均衡策略,在规则中指定。更多信息请参考插件管理中的 插件处理管理

  • 处理配置详解:

    • host:一般填写 localhost

    • ip:portip 与端口,这里填写你真实服务的 ip + 端口。

    • protocol::http 协议,一般填写 http:// 或者 https:// ,不填写默认为:http://

    • startupTime: 启用时间。

    • weight:负载均衡权重。

    • warmupTime:预热时间。

    • status:开启或关闭。

规则处理#

规则处理,即handle字段,是网关对流量完成最终匹配后,采取何种处理规则。更多信息请参考插件管理中的 插件处理管理

  • 处理配置详解:
    • loadStrategy:如果http客户端是一个集群,Apache ShenYu网关调用时采取哪种负载均衡策略,当前支持 roundRobinrandomhash
    • retryCount:调用http客户端的重试次数。
    • timeout:调用http客户端的超时时间。

元数据#

每一个tars接口方法,都会对应一条元数据,当tars应用客户端接入到Apache ShenYu网关时,会自动注册,可以在 shenyu-admin后台管理系统的基础配置 --> 元数据管理中查看。

  • 应用名称:该条元数据所属的应用名称。

  • 方法名称:需要调用的方法名。

  • 路径:tars请求路径。

  • 路径描述:对该路径的说明,方便查看。

  • 参数类型:tars接口的参数类型列表,按照接口的参数类型顺序,通过半角逗号分隔。

  • Rpc扩展参数:描述了一个tars服务中每个接口信息。比如,下面是tars服务的两个接口信息:

{  "methodInfo": [    {      "methodName": "helloInt",      "params": [        {          "left": "int",          "right": "no"        },        {          "left": "java.lang.String",          "right": "name"        }      ],      "returnType": "int"    },    {      "methodName": "hello",      "params": [        {          "left": "int",          "right": "no"        },        {          "left": "java.lang.String",          "right": "name"        }      ],      "returnType": "java.lang.String"    }  ]}
  • 服务接口:在注解 @ShenyuTarsService 中指定的serviceName

  • Rpc类型:下拉选择 tars