Dubbo配置使用

Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。dubbo通常采用zookeeper作为注册中心,这也是官方推荐的方式

使用步骤

  1. 使用dubbo前应先启动zookeeper服务

  2. 定义服务接口: (该接口需单独打包,在服务提供方和消费方共享)

  3. 在服务提供方实现接口:(对服务消费方隐藏实现)

  4. 在服务提供方通过Spring配置声明暴露服务

  5. 在服务消费方通过Spring配置引用远程服务

  6. 最后在服务消费方就可以像调用本地方法一样调用远程服务接口

对于分布式服务来说,通常情况下服务提供者也是其它服务的消费者,反之服务消费者也会对外提供服务 这里会遇到一个dubbo循环调用的问题,在编程时应尽量避免

具体demo 代码见 https://github.com/lilixin/learning-dubboarrow-up-right

注意事项

服务提代者和服务消费者 暴露或引用接口时配置的 version要一致 如果有group 也要一致

demo项目基本springboot来集成dubbo 注意引入dubbo配置文件的方式 在启动类上

@ImportResource({"classpath:dubbo-consumer.xml"})

@ImportResource({"classpath:dubbo-provider.xml"})

集群容错 默认是failover 也就是重试 在发布服务或者引用服务的时候设置

负载均衡 支持随机、轮询、一致性HASH等方式

直连

直接在引用的配置url里输入提供者的服务地址即可

只注册/只发布

通过上面的方式可以做到不订阅服务

通过上面的方式 可以做不注册服务

多协议机制

可以发布接口的时候配置多种协议

多注册中心

多版本

不同的服务是有版本不同的,版本可以更新并且升级,同时,不同的版本之间是不可以调用的

协议及version字段都相同的服务接口才能调用成功

Last updated