笔记:SpringBoot+Dubbo的三种配置方式,xml、javaconfig、annotation

示例代码:github


xml与java class对应关系

provider中用到的:

 -- ServiceConfig
服务配置,用于暴露一个服务,定义一个服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心
 -- ProtocalConfig
协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受
 -- ProviderConfig
当ProtocolConfig和ServiceConfig某属性没有设置时,采用此配置的缺省值

consumer中用到的:

 -- ReferenceConfig
引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心
 -- ConsumerConfig
当ReferenceConfig某属性值没有配置时,采用此配置的缺省值

共同用到的:

 -- ApplicationConfig
用于配置当前应用信息,不管该应用是提供者还是消费者
 -- RegistryConfig
用于配置注册中心的相关信息
 -- MonitorConfig
用于配置监控中心相关信息
 -- MethodConfig
用于ServiceConfig和ReferenceConfig指定方法级的配置信息
 -- ArgumentConfig
用于方法参数配置
 -- AnnotationBean(已废弃)
用于配置注解的包扫描

说明

  1. annotation的配置方法,配置了自动扫描dubbo服务类,需要使用com.alibaba.dubbo.config.annotation.Service的@Service注解和com.alibaba.dubbo.config.annotation.Reference的@Reference注解
  2. 个人倾向使用dubbo.xml+@Configuration+@ImportResource的方法配置
  3. 配置starter依赖或者配置com.alibaba.dubbo和com.101tec.zkclient依赖
  4. 其他

配置优先级:方法级>接口级>全局配置; 级别相同时,提供方>消费方

注册中心策略(Dubbo:registry): Zookeeper Redis

远程调用协议(Dubbo:protocol):Dubbo(复用单一长链接,推荐)

建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。

理论上 ReferenceConfig 的非服务标识配置,在 ConsumerConfig,ServiceConfig, ProviderConfig 均可以缺省配置。

你可能感兴趣的:(笔记:SpringBoot+Dubbo的三种配置方式,xml、javaconfig、annotation)