Dubbo简单用法

官网:https://dubbo.apache.org/zh/docs/concepts/registry-configcenter-metadata/

整体架构

  • 服务容器负责启动,加载,运行服务提供者。
  • 服务提供者在启动时,向注册中心注册自己提供的服务。
  • 服务消费者在启动时,向注册中心订阅自己所需的服务。
  • 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  • 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  • 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

dubbo使用xml配置方式

  • 去除具体服务实现类中@Service注解,在服务提供者启动类中新增@ImportResource("provider.xml"),在服务消费者启动类中新增@ImportResource("consumer.xml"),最后使用@autowire去注入具体实现接口。
copy
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
@Autowired //具体实现接口与实现方法 private UserService userService; @RequestMapping("/Hello") public String sayHello() { return userService.Hello(); } //服务消费方,服务提供方与此类似 @SpringBootApplication @ImportResource("consumer.xml") public class WebApplication { public static void main(String[] args) { SpringApplication.run(WebApplication.class); } }

Dubbo服务特性

  • 依赖检查
    大致可分为启动时使用-D参数配置或者在xml配置文件中使用check参数配置。这里-D参数配置优先级大于使用配置文件配置。
    <dubbo:reference id="userService" check="false" interface="com.cdtu.user.service.UserService"/>

  • 超时机制以及集群容错机制
    超时机制如果方法跟整个服务同时设置了超时时间,这个时候以方法设置的超时时间为准,如果服务提供方跟服务消费方同时设置了超时时间,则以服务消费方为准,配置都是在xml配置文件中使用timeout参数。容错机制,当服务调用失败的时候,默认情况下,dubbo会进行重试,默认重试次数为2(不包含第一次)可通过retries参数进行设置重试次数。

  • Dubbo服务分组及配置
    当一个接口有多种实现时,可以用 group 区分,服务提供者,在标签里加多个group进行区分,服务消费者在引用的时候,也在标签里加group。

copy
  • 1
  • 2
  • 3
  • 4
//服务提供者 <dubbo:service group="user1" interface="com.cdtu.user.service.UserService" ref="userService" /> <dubbo:service group="user2" interface="com.cdtu.user.service.UserService" ref="userService2" /> //服务消费者 <dubbo:reference group="user2" id="userService" check="false" interface="com.cdtu.user.service.UserService"/>
  • Dubbo服务多版本化配置,在配置文件中使用version参数配置即可。不同版本是获取不到相应配置的。

  • 动态配置中心及配置外部化
    外部化配置。启动配置的集中式存储 (简单理解为dubbo.properties的外部化存储)。​ 服务治理。服务治理规则的存储与通知。
    1.在dubbo-ops 进行配置信息配置
    2.在xml中配置<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
    <dubbo:config-center address="zookeeper://127.0.0.1:2181"/>

本文作者:菜鸟王999

本文链接:https://www.cnblogs.com/bigdata123/p/16309612.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   菜鸟王999  阅读(97)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起