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. Oracle 使用小技巧

    1.小数转换成字符往往会丢失前面的零. 解决方法: to_char(0.12345,'fm9999999990.00'); 2.除数为零的话oracle老是报错. 解决方法: decode(B,0,0 ...

  2. ['1','2','3'].map(parseInt) 返回的是什么?

    返回的是:[1,NaN,NaN] 首先我们先分析一下  parseInt  函数: parseInt()函数解析一个字符串参数,并返回指定基数的整数(数学系统中的基数). 它可以有两个参数,用法:pa ...

  3. IIS:连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解

    Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows NT版本的可选 ...

  4. charles抓包unknow

    如果能抓到包,可是解析不出请求,那一定是证书问题,注意以下几点: 1.设备安装证书,注意要抓包的每一个设备都要安装证书,每一个设备! 2.pc端也要安装证书 如果以上两点都做到一定可以解析https请 ...

  5. Shell 命令行,实现一个获取任意位数的随机密码的脚本

    Shell 命令行,实现一个获取任意位数的随机密码的脚本 每次我们想要获得一个密码的时候都很头疼,于是我之前自己用nodejs写了一个 Shell 脚本.这两天在学习 bash Shell 所以,想用 ...

  6. 跟着小程学微服务-Mock自动化系统的原理及实现

    一.前言 在之前的文章 http://blog.csdn.net/u013970991/article/details/54862772 中已经介绍了"自动化Mock系统0.9版本" ...

  7. phpstorm、webstorm配置less编译器

    1. node.js 安装包    https://nodejs.org/en/download/ 1) 安装js解析器node.js.直接下一步就ok了. 2) 将npm压缩包解压,找到里面的les ...

  8. Android使用HTTP协议访问网络——HttpClient

    套路篇 1.HttpClient是一个接口,因此无法创建它的实例,通常情况下都会创建一个DefaultHttpClient的实例 HttpClient httpClient=new DefaultHt ...

  9. CMake入门实践

    为了更好的代码管理,选择一款make工具非常重要,cmake取百家之长,现在在github上已经是工程管理的常客了,最大的优势是跨平台.本文将避开理论,直接教你如何在windows和linux上实现c ...

  10. 每天一个linux命令:【转载】pwd命令

    Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...