美文网首页
dubbo学习笔记

dubbo学习笔记

作者: zhglance | 来源:发表于2019-05-10 11:57 被阅读0次

    1.简述

    dubbo作为阿里巴巴提供的分布式rpc和微服务框架,提供了基于接口的远程调用,容错和负载均衡,服务注册与发现功能。

    dubbo演进路线:

    dubbo演进路线.png

    dubbo框架:

    dubbo框架(图片来之官网).jpg

    dubbo服务治理:

    dubbo服务治理(图片来之官网).jpg dubbo-framework(图片来之官网).jpg dubbo-extension(图片来之官网).jpg

    各层功能说明:
    1.Service层:为具体业务提供服务提供者和服务消费者的实现类和接口类;
    2.Config层:提供Dubbo的配置服务,这块主要有Spring解析服务提供者和服务消费者的配置信息;
    3.Proxy代理层:使用SPI(Service Provider Interface)机制,即JDK内置的服务提供发现机制,实现动态替换接口,这样在运行时动态地给接口添加一个实现类,动态选取不同的配置类;
    4.Register注册层:负责dubbo服务的注册和发现,并且对服务进行监听;
    5.Cluster集群层:负责服务的路由,加载和失败重试;
    6.Protocol协议层:负责协议的转换和过滤;
    7.Exchange交换层:主要封装了请求和响应,同步转异步;
    8.Transport传输层:负责网络传输,主要使用Netty,Mina等,实现真正的数据传输;
    9.Serialize序列化层:根据不同的协议对数据进行序列化。

    Service服务提供:


    dubbo_rpc_export(图片来之官网).jpg

    注册的url格式:
    dubbo://172.17.112.123:28002/com.lance.service.MyService?accepts=1000&anyhost=true&application=oic-dubbo-provider&bind.ip=10.8.0.28&bind.port=12000&buffer=8192&charset=UTF-8&methods=add,remove,find,serach&default.service.filter=dubboCallDetailFilter&dubbo=2.6.1&generic=false&interface=com.lance.service.MyService&revision=1.0.0&serialization=hessian2&side=provider&threadpool=fixed&threads=10&timeout=600&version=1.0.0
    url地址主要包含了版本号version,接口名MyService,方法列表methods,序列化方法serialization,过期时间timeout等
    ZookeeperRegistry.java类调用doRegister(URL url)

    Dubbo在Zookeeper上注册的节点目录


    dubbo__url__.jpg

    Service服务消费


    dubbo_rpc_refer(图片来之官网).jpg

    Dubbo调用的重试策略;

    <!--服务调用失败后,重试其他服务节点,适用于幂等性接口,如读,不适合写接口-->
    1. <dubbo:registry cluster ="failover"> 
    
    <!-- 服务只调用一次,失败立即报错,适用于非幂等性接口,如写操作-->
    2. <dubbo:registry cluster ="failfast"> 
    
    <!-- 失败安全,出现异常是直接忽略,通常用于不影响业务侧场景,如日志等-->
    3. <dubbo:registry cluster ="failsafe"> 
    
    <!-- 失败自动恢复,后台记录失败请求,然后定时重发,通常适用于消息通知-->
    4. <dubbo:registry cluster ="failback"> 
    
    
    <!-- 并行调用多个服务节点,成功一个即返回,通常用于实时性操作高的读操作-->
    5. <dubbo:registry cluster ="forking"> 
    
    
    

    相关文章

      网友评论

          本文标题:dubbo学习笔记

          本文链接:https://www.haomeiwen.com/subject/nhoooqtx.html