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. 设置tableview 右侧 索引字体的大小

  2. MoreEffectiveC++Item35(基础议题)(条款1-4)

    条款1:区别指针和引用 条款2:最好使用C++转换操作符 条款3: 绝对不要以多态的方式处理数组 条款4: 避免无用的缺省构造函数 条款1:区别指针和引用 1.指针(pointer) 使用[*/-&g ...

  3. React-Native基础_5.列表视图ListView 网络数据展示

    //获取网络数据 并用列表展示 豆瓣Top250 api /** * Sample React Native App * https://github.com/facebook/react-nativ ...

  4. OpenGL实现3D自由变形

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  5. azure最佳实践系列1-自我修复的设计

    如何设计你的应用,能够在系统错误时做到自我修复?在分布式系统中,会经常遇到错误.硬件也会遇到异常情况.网络有时会出现短暂的错误.整个地区出现了服务中断.即便如此,关于这些问题的方案也是要提前规划的.因 ...

  6. js 以函数名作为参数动态执行 函数

    function myFunc() { console.log(11111); } test("myFunc"); function test(funcName) { if(typ ...

  7. 主机屋MySQL数据库链接

    点击高级设置,进入Myadmin,导入数据 要注意,数据库名字不能变,这是人家给的. 在php链接时,: $db=[ // 服务器地址 'hostname' => 'localhost', // ...

  8. Shell 关闭指定进程

    例如要关闭jupyter-notebook这个进程: - | 说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入. “ps -ef” 查看所有进程 “grep -v g ...

  9. 在FP与DDD的道路上越走越远

    托辞 最近一口气读了若干本FP方面的书,可人是越来越懒了,要整理个什么东西却也没有那个精力,所以简单扔几张图,算是给自己一个提醒吧. 在此期间,我用并不纯熟的Scala和Groovy练了一把手.虽然只 ...

  10. windows 10 安装 sql 2005 安装失败

    windows 10 安装 sql 2005 安装失败 网上的方法记录: 安装中无法启动需要先用sp4的补丁文件sqlos.dll,sqlservr.exe 替换D:\Program Files (x ...