服务层协议
- ApplicationConfig 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。
- RegistryConfig 注册中心配置,用于配置连接注册中心相关信息。
- ProtocolConfig 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。
- ServiceConfig 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。
- ProviderConfig 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值。
- ReferenceConfig 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。
- ConsumerConfig 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值。
- MethodConfig 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。
- ArgumentConfig 用于指定方法参数配置。
配置优先级
- 方法级优先,接口级次之,全局配置再次之。
- 如果级别一样,则消费方优先,提供方次之。
- 其中,服务提供方配置,通过URL经由注册中心传递给消费方。
- 建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。
- 理论上ReferenceConfig的非服务标识配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以缺省配置。
配置类型
注意:只有group,interface,version是服务的匹配条件,三者决定是不是同一个服务,其它配置项均为调优和治理参数。
所有配置项分为三大类,参见下表中的"作用"一列。
- 服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。
- 服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件。
- 性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响。
所有配置最终都将转换为URL表示,并由服务提供方生成,经注册中心传递给消费方。
应用信息配置,详细参考官网。
http://dubbo.apache.org/en-us/docs/user/references/xml/dubbo-service.html