在 Provider 上尽量多配置 Consumer 端属性
作为服务的提供者,往往比使用方更清楚服务的性能参数。比如调用的超时时间、合理的重试次数等,这些由 Provider 统一设定通常更为合理。
当 Provider 配置了相关属性后,如果 Consumer 端未显式配置,系统会默认沿用 Provider 的值。这意味着 Provider 的配置可以作为 Consumer 的缺省值。反之,若依赖 Consumer 的全局设置,不仅对 Provider 不可控,还可能导致不合理的调用行为。
建议让 Provider 实现者在设计之初就思考服务质量问题,尽可能在 Provider 端配置 Consumer 相关的属性。
示例:
<dubbo:service interface="com.alibaba.hello.api.HelloService"
version="1.0.0" ref="helloService" timeout="300" retry="2" loadbalance="random" actives="0"/>
<dubbo:service interface="com.alibaba.hello.api.WorldService"
version="1.0.0" ref="helloService" timeout="300" retry="2" loadbalance="random" actives="0">
<dubbo:method name="findAllPerson" timeout="10000" retries="9" loadbalance="leastactive" actives="5"/>
</dubbo:service>

