美文网首页
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 服务调用 总结(八)

    笔记简述结合之前学习的两篇笔记 Dubbo 服务调用 源码学习(上)(六)和 Dubbo 服务调用 源码学习(下)...

  • Dubbo 服务暴露 总结(五)

    笔记简述Dubbo服务暴露之前分为了两小节Dubbo 服务暴露 源码学习(上)(三) 和Dubbo 服务暴露 源码...

  • Dubbo 2.7.7 学习笔记 1

    Dubbo 2.7.7 起步入门学习笔记 本文档基于 Dubbo 中文官方文档编写,详情请参见 Dubbo 中文官...

  • Dubbo | Dubbo快速上手笔记 - 环境与配置

    前言 比较基础的dubbo学习笔记,一些参考资料如下: 尚硅谷Dubbo教程(dubbo经典之作)[https:/...

  • Dubbo 简要介绍和使用 学习(一)

    笔记简述本学习笔记主要是介绍了dubbo的基础内容,简单说明了dubbo、rpc、soa、zk等概念,并没有直接贴...

  • Dubbo SPI 源码学习 & admin安装(二)

    笔记简述本学习笔记主要是介绍了SPI的使用以及原理,dubbo是如何实现自身的SPI,dubbo如何使用的可以看D...

  • Dubbo学习笔记

    Dubbo简介 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可...

  • Dubbo学习笔记

    1. Dubbo入门 Dubbo是一款高性能Java RPC框架,常用来构建分布式系统。Dubbo为开发者提供了三...

  • Dubbo学习笔记

    0 写在前面 项目使用Dubbo近一年了,期间大大小小遇到过一些问题。在这个过程中也一直在尝试阅读Dubbo源码,...

  • Dubbo学习笔记

    [TOC] 一、分布式基本知识 1.1) 架构演变 先给出dubbo官方的图,图片表示了架构的演变。然后我说一下自...

网友评论

      本文标题:dubbo学习笔记

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