说明:下面示例中采用
<joyrpc/>
标签 表示JOYRPC中的schema。
消费者调用时,可以设置集群分发策略,该策略可以配置在接口上也可以配置在方法上,配置如下:
<beans>
<joyrpc:consumer cluster="failfast" >
<joyrpc:method name="echo" cluster="failover"/>
</joyrpc:consumer>
</beans>
分发策略可以配置在接口上也可以配置在方法上,目前支持如下几种集群策略:
名称 | 配置 | 说明 |
---|---|---|
失败忽略 | failfast | 只发起一次调用,失败立即报错。 |
失败重试(默认) | failover | 失败则根据重试策略进行重试,默认重试异常是网络异常和服务端返回的明确可以重试的异常,例如拒绝执行异常。 |
定点调用 | pinpoint | 按照用户指定的地址进行路由,目标地址可以由RequestContext中的".pinpoint"参数指定,不进行异常重试 |
广播调用 | broadcast | 遍历每个可用节点进行调用,如果有一个失败则返回失败,否则返回最后一个节点的调用结果 |
并行调用 | forking | 并行调用多个节点,以第一个成功返回的节点作为响应,如果全部失败则返回失败。可以通过扩展参数"forks"来配置并行数量 |
可以配置在接口上也可以配置在方法上
名称 | 默认值 | 说明 |
---|---|---|
retries | 最大重试次数 | |
retryOnlyOncePerNode | 每个节点是否只调用一次 | |
failoverWhenThrowable | 可以重试的异常全路径类名,多个异常类名用逗号分隔 服务提供方也可以内置,在"META-INF/retry/接口名称"文件中配置异常全路径名 |
|
failoverPredication | 自定义异常重试判断扩展点名称 服务提供方也可以内置,在"META-INF/retry/接口名称"文件中配置异常判断插件名称,配置格式为"[插件名称]" |
|
failoverSelector | simple | 异常重试目标节点选择器 |
重试的超时时间受整个的调用超时控制,当超过了调用超时会自动结束重试
超时时间可以配置在接口上也可以配置在方法上
名称 | 默认值 | 说明 |
---|---|---|
timeout | 调用超时时间 |