`

dubbo学习笔记

    博客分类:
  • soa
阅读更多

 原文链接:http://blog.csdn.net/zhaozhenzuo/article/details/44781877

dubbo是一个服务治理框架。用于解决服务之间的依赖及调用问题,也是一种rpc实现。

  dubbo中,有三个重要角色,一:注册中心,二:服务提供方,三:服务调用者。

 一. 注册中心,可以是zookeeper,redis等,其实就是存放一个服务列表的地方。

  推荐使用zookeeper,zookeeper用树状结构来进行存储。如图:

 



 

 

zookeeper存储的根结点是对应 <dubbo:register group="dubbo"/>中的group属性。

 

二.服务提供方

  服务提供方连接上zookeeper并将服务注册到zookeeper上。

三.服务消费者

 服务消费者会从zookeeper上拿到一份服务列表,并存储在本地文件中。这里如果一台机子部署多个服务的话,即多个jvm进程,这时有可能会发生这个本地文件发生竞争,而抛出异常。但dubbo对于这块异常是会重试的,所以不用担心。 

 

dubbo的整个设计围绕着这三个角色进行。

对应这三个角色的配置标签分别有:<dubbo:register.../> ,<dubbo:provider.../>,<dubbbo:consumer.../>

 

在生产运用中,可以设置的参数有超时timeout,重试次数retries,负载均衡算法loadbanlance,容错方式failover等。

对于有些插入这种,非幂等操作,需要注意dubbo的超时重试机制。可以将其设置为0。

 

在protocal协议的选择上(即选择哪种协议用于实现远程调用)目前有dubbo,rmi,http等。

dubbo是默认推荐的方式,使用长连接,nio的形式。实现上就是服务消费方与服务提供方及注册中心之间使用长连接。

使用默认dubbo协议的话,序列化使用的是修改过的hessian协议,这是一种高效的二进制与具体语言无关的协议。而服务提供者端与服务消费者端使用的是mina nio框架。

 

而dubbo唯一确认一个服务的是:接口interface+版本号version+分组号group。

因此当业务升级接口时,如果服务调用方不兼容新的服务提供方接口时,这时可以采用version版本控制

 

而在设计服务接口时,需要以一个功能为一个接口暴露给调用方。如果这个功能被分成三个接口给调用方,而这个功能必须是原子性的,即要么同时成功,要么同时失败,这里就比较麻烦了,需要引入分布式事务或其它方式解决。 

 

对于性能优化上,如果某个业务需要同时查询多个服务,之后将根据这些服务的数据返回结果再做处理的话,可以用async来实现异步调用请求,加速业务处理。

  • 大小: 30.5 KB
分享到:
评论

相关推荐

    dubbo学习笔记.doc

    dubbo学习笔记.doc

    dubbo学习笔记.pdf

    用户不得未经著作权人同意擅自对他人的作品进行全部或部分复制、修改、改编、翻译、汇编、反向工程、反向编译、反向汇编或改写并进行上传。用户可以为介绍、评论、研究等目的,在合理范围内依法引用他人已经发表的...

    dubbo学习笔记.pptx

    本文适合但不限于软件开发人员阅读。本文档能够使阅读者对dubbo的整体架构和原理有一个宏观且全面的了解,内容主要对dubbo的发展历史、架构组成、工作原理、应用场景等进行了介绍。

    dubbo学习笔记,都是一个字一个字的写的

    包括 dubbo与springboot整合,springcloud怎么构建dubbo的项目,怎么通信等

    dubbo:dubbo学习笔记

    dubbo dubbo学习笔记

    dubbo学习例题代码资源

    dubbo学习例题代码资源

    Dubbo之《尚硅谷》学习笔记.md

    Dubbo之《尚硅谷》学习笔记

    dubbo学习整理笔记视图

    这是自己在dubbo学习过程中资料的整理 , 算是一个大纲 , 能够帮助到你快速入门 , 快速理解并且使用 , 大概半个小时就可以学会了 .

    dubbo-monitor-simple-2.5.3

    dubbo服务监控中心 localhost:9090 访问 Maven+Spring+Dubbo学习笔记博客地址 http://blog.csdn.net/a_piaoyouareminemine/article/details/50010577

    MyDubbo:dubbo源码学习笔记

    MyDubbodubbo原始码学习笔记

    Dubbo视频资料

    尚硅谷Dubbo,供大家学习使用,拿去不谢

    服务治理中间件dubbo原理解析

    此文档是从学习 dubbo 源码过程中的笔记中整理出来的,由于时间及能力 原因,理解有误之处还请谅解,希望对大家学习使用 dubbo 有所帮助。 dubbo 是阿里基于开源思想 java 实现的服务治理中间件, 目前除了阿里之 外...

    Dubbo源码解读

    这里整理了我学习Dubbo中的笔记,可能有点乱,分享出来仅供大家学习。

    Dubbo.docx

    适合快速了解dubbo的小白,大佬绕过,就是简单地总结一下自己不会的,一些常见的dubbo比较容易遗漏的学习笔记,供大家学习,让自己方便记忆。

    java后端学习笔记

    activeMq,rabbitMq,activity工作流,docker,dubbo,netty,rpc,springcloud,zookeeper学习笔记

    Spring Cloud Alibaba学习笔记

    Spring Cloud Alibaba学习笔记 内容简介: 1、微服务介绍 2、微服务环境搭建 3、Nacos Discovery--服务治理 4、Gateway--服务网关 5、Sleuth--链路追踪 6、Rocketmq--消息驱动 7、SMS--短信服务 8、Sentinel--服务...

    Java架构方面面试及学习笔记.rar

    Java架构方面学习笔记,java后端知识、并发多线程、dubbo、springMVC,SpringBoot、MySql调优、Nginx、Redis、Zookeeper

Global site tag (gtag.js) - Google Analytics