Tars插件
说明
Tars插件是网关用于处理 Tars协议请求的核心处理插件。
插件设置
插件讲解
客户端接入Apache ShenYu网关后,会自动注册选择器和规则信息,可以在插件列表 -> rpc proxy -> tars 中查看。关于选择器和规则配置,请参考:选择器和规则管理。
选择器处理
选择器处理,即handle字段,是网关匹配到流量以后,实际调用的tars服务,可以配置 多个,设置负载均衡权重,具体的负载均衡策略,在规则中指定。更多信息请参考插件管理中的 插件处理管理 。
-
处理配置详解:
-
host:一般填写localhost。 -
ip:port:ip与端口,这里填写你真实服务的ip+ 端口。 -
protocol::http协议,一般填写http://或者https://,不填写默认为:http:// -
startupTime: 启用时间。 -
weight:负载均衡权重。 -
warmupTime:预热时间。 -
status:开启或关闭。
-
规则处理
规则处理,即handle字段,是网关对流量完成最终匹配后,采取何种处理规则。更多信息请参考插件管理中的 插件处理管理 。
- 处理配置详解:
loadStrategy:如果http客户端是一个集群,Apache ShenYu网关调用时采取哪种负载均衡策略,当前支持roundRobin、random和hash。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。