dubbo最近提交到了apache,成为了apache的孵化项目,又开始活跃起来了。就官方在git上面的说明文档和其他资料,学习总结以下dubbo的一些知识点。

  

.The dubbo protocol is one of many protocols the framework supports. It is built on top of the Java NIO non-blocking feature and it’s the default protocol used.

dubbo协议是众多框架支持的协议之一,它基于JAVA NIO无阻塞特性,并且这是默认使用协议。

.The framework supports multiple protocols, including dubbo, RMI, hessian, HTTP, web service, thrift, memcached and redis. Most of the protocols looks familiar, except for dubbo。

框架支持多种协议,包括dubbo、RMI、hessian、http、web service、thrift、memcached和redis。大多数的协议都是差不多的,除了dubbo。

.The dubbo protocol keeps a persistent connection between providers and consumers. The long connection and NIO non-blocking network communication result in a fairly great performance while transmitting small-scale data packets (<100K).

dubbo协议在服务提供者和消费者之间保持着一个持久化的连接。长连接和NIO无阻塞连接在小数据包(小于100KB)的网络通信中表现出相当高的性能。

.Currently, the framework supports a few load-balancing strategies:random、round-robin、least-active、consistent-hash.

当前框架支持以下几种负载均衡策略:随机(按照权重设置随机概率)、轮询(按公约后的权重设置轮询比率)、最小活跃(相同活跃是随机,慢机器收到更少的请求,最不活跃优先)、一致性哈希(相同参数的请求总数发送到同一提供者,当提供者挂掉,分摊到其他提供者)。

.Several fault tolerance strategies are supported in Dubbo, including:fail-over、fail-fast、fail-safe、fail-back、
forking.In the case of fail-over, when one provider fails, the consumer can try with some other service providers in the cluster.

dubbo支持几种容错策略:失败自动切换(发现失败,访问其他服务器)、快速失败(只调用一次,失败立即报错)、错误安全(出现异常直接忽略)、失败自动恢复(后台记录失败请求,定时重发)、并行调用(并行访问多台服务器,只要一个成功则返回)。在集群环境中,当使用错误忽略策略时,在一个服务提供者访问失败,服务消费者就会寻找其他相同的服务提供者。
补充:缺省为failover。还有一个broadcast,广播调用所有提供者,逐个调用,任意一个出错则报错。

6. dubbo是为解决哪些实际开发中遇到的问题的?
答:①当服务数量越来越多时,使用软负载均衡,减少F5硬件成本。②服务依赖关系复杂时,描述每个服务之间的关系。③服务调用量越来越大时,计算所需的服务器支撑数量。

7. 配置覆盖关系
以 timeout 为例,显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似:
方法级优先,接口级次之,全局配置再次之。
如果级别一样,则消费方优先,提供方次之。

8. 结果缓存

用于加速热门数据的访问速度,有三种缓存类型:
lru(least-recently-used):基于最近最少使用原则删除多余缓存,保持最热数据被缓存。
threadlocal:当前线程缓存。
jcache: 与JSR107集成,可以桥接各种缓存。

相关参考资料:

1.http://www.baeldung.com/dubbo

2. https://blog.csdn.net/qq_17351343/article/details/76146293

3. http://dubbo.apache.org/books

dubbo相关的知识点总结的更多相关文章

  1. dubbo 相关面试题 有用

    调用关系说明: · 0. 服务容器负责启动,加载,运行服务提供者. · 1. 服务提供者在启动时,向注册中心注册自己提供的服务. · 2. 服务消费者在启动时,向注册中心订阅自己所需的服务. · 3. ...

  2. dubbo 相关面试题 有用(转)

    调用关系说明: · 0. 服务容器负责启动,加载,运行服务提供者. · 1. 服务提供者在启动时,向注册中心注册自己提供的服务. · 2. 服务消费者在启动时,向注册中心订阅自己所需的服务. · 3. ...

  3. Dubbo 总结:关于 Dubbo 的重要知识点

    一 重要的概念 1.1 什么是 Dubbo? Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC 框架,它提供了三大核心能力:面向接口的远 ...

  4. spring项目中dubbo相关的配置文件出现红叉的问题

    近来在eclipse中导入了一个web项目,但是发现项目上有红色的叉号. 原来是spring中关于dubbo的配置文件报错了. Multiple annotations found at this l ...

  5. JMeter中添加dubbo相关插件异常问题解决

    从网上下载了一个dubbo的插件,然后放到JMeter的/lib/ext目录下: 然后启动直接异常 发现启动不了,然后下载了一个全新的JMeter3.2将dubbo插件放到同样的目录,启动,没有问题: ...

  6. ksar、sar及相关内核知识点解析

    关键词:sar.sadc.ksar./proc/stat./proc/cpuinfo./proc/meminfo./proc/diskstats. 在之前有简单介绍过sar/ksar,最近在使用中感觉 ...

  7. Dubbo相关博文整理

    configServer配置中心在dubbo client和 dubbo server之间的作用 http://www.cnblogs.com/dengzy/p/5677531.html dubbo ...

  8. Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...

  9. dubbo相关

    1 面试题:Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么? 可以的,启动dubbo时,消费者会从zk拉取注册的生产者的地址接口等数据,缓存在本地.每次 ...

随机推荐

  1. 内存保护机制及绕过方法——利用Ret2Libc绕过DEP之ZwSetInformationProcess函数

    1.    DEP内存保护机制 1.1   DEP工作原理 分析缓冲区溢出攻击,其根源在于现代计算机对数据和代码没有明确区分这一先天缺陷,就目前来看重新去设计计算机体系结构基本上是不可能的,我们只能靠 ...

  2. LeetCode OJ:Ugly Number II(丑数II)

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

  3. Unix系统中system函数的返回值

    网上关于system函数的返回值说明很多很详细但却不直观,这里搬出apue 3rd Editon中实现system函数的代码来说明其返回值. #include <sys/wait.h> # ...

  4. 本地如何搭建IPv6环境测试你的APP(转)

    IPv6的简介 IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索). PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦 ...

  5. 【LeetCode 67_字符串_算术运算】Add Binary

    string addBinary(string a, string b) { int alen = a.size(); int blen = b.size(); ) return b; ) retur ...

  6. Conky配置文件

    Conky是一个可以在linux系统中实时显示系统性能的工具,美观且十分好用,我们选择安装conky-all程序包 # set to yes if you want Conky to be forke ...

  7. StringUtils.isEmpty和StringUtils.isBlank的区别

    两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...

  8. 在VC2015里包含了lib库,但没有设置对路径的出错

    它的提示出错如下: 这时需要在路径: 在附加的目录里添加上lib的路径. 1. RPG游戏从入门到精通 http://edu.csdn.net/course/detail/5246 2. WiX安装工 ...

  9. if条件判断

    if 条件判断的是布尔值,常用的有以下几种 1.in 在不在它里面,返回的是布尔值 names='zhangsan lisi xiaoming' print("zhangsan" ...

  10. Apache配置php redis扩展

    1.根据phpinfo,下载redis 下载地址:注意php版本号 http://windows.php.net/downloads/pecl/snaps/redis/2.2.5/ http://wi ...