Tars插件

说明

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

插件设置

插件讲解

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

选择器处理

Tars插件 - 图1

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

  • 处理配置详解:

    • host:一般填写 localhost

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

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

    • startupTime: 启用时间。

    • weight:负载均衡权重。

    • warmupTime:预热时间。

    • status:开启或关闭。

规则处理

Tars插件 - 图2

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

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

元数据

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

Tars插件 - 图3

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

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

  • 路径:tars请求路径。

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

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

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

  1. {
  2. "methodInfo": [
  3. {
  4. "methodName": "helloInt",
  5. "params": [
  6. {
  7. "left": "int",
  8. "right": "no"
  9. },
  10. {
  11. "left": "java.lang.String",
  12. "right": "name"
  13. }
  14. ],
  15. "returnType": "int"
  16. },
  17. {
  18. "methodName": "hello",
  19. "params": [
  20. {
  21. "left": "int",
  22. "right": "no"
  23. },
  24. {
  25. "left": "java.lang.String",
  26. "right": "name"
  27. }
  28. ],
  29. "returnType": "java.lang.String"
  30. }
  31. ]
  32. }
  • 服务接口:在注解 @ShenyuTarsService 中指定的serviceName

  • Rpc类型:下拉选择 tars