Dubbo实践笔记
注意的地方
- 默认情况下,cluster=failover、retries=2,意为失败重试两次,不包含原生调用。如需配置不重试,需设置retries=-1,或者使用failfast(快速失败)模式
- 如果Dubbo接口嵌套Dubbo接口,比如A程序调用B接口,B接口实现中调用C接口。如果按默认重试2次,全部调用失败情况下,最终调用C接口3 * 3 = 9次。我们在Dubbo接口嵌套情况下一般设置为不重试
- 配置覆盖的规则:(1)方法配置优先级大于接口配置;(2)消费端配置优先级大于提供端配置。规则思路在于,提供端更了解服务的性能,理应由服务端配置的,但仍提供消费端覆盖配置。官方文档描述见此。
Dubbo协议
Dubbo协议是推荐使用的协议,因其单一长连接和NIO异步通讯的特性适用于小数据量大并发的调用。
如果你们消费者数量远大于提供数数量(谁不是呢?哈哈),而又是小数据量的调用居多,就用此协议吧。
官方文档描述见此。
常见的默认配置
- dubbo.service.timeout,默认超时时间为1000毫秒
- dubbo.service.cluster,默认为failover,失败重试
- dubbo.service.retries,默认为2,不含原生调用
- dubbo.service.loadbalance,默认为random,随机
- dubbo.service.proxy,默认生成动态代理方式为javasisit
- dubbo.protocol.name,默认为dubbo
- dubbo.protocol.payload,默认为88388608(8M),默认请求或响应数据包的大小为8M
- dubbo.protocol.codec,默认协议编码方式为dubbo
- dubbo.protocol.serialization,dubbo协议默认为hessian2,rmi默认为java,http默认为json
参考的文章
Dubbo实践笔记的更多相关文章
- hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——文件
Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...
- Python编程从入门到实践笔记——类
Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- Python编程从入门到实践笔记——字典
Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...
- Python编程从入门到实践笔记——if语句
Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
随机推荐
- 点击threadItem查看MessageList时传递数据
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ...
- 【bootstrapV3】移动端和PC端的 滚动监听
1.本代码适用于 bootstrap V3 的 页面滚动监听 2.效果: 3.代码: <!DOCTYPE html> <html lang="zh-CN"> ...
- [JavaScript模块演化简史]摘要
来源于:https://zhuanlan.zhihu.com/p/26231889 # JavaScript 模块化 早期的JavaScript并没有模块化解决方案.随着单页应用与富客户端的流行,出现 ...
- JavaScript HTML DOM 入门详解
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过 ...
- 在 iOS 中实现方法链调用
编译:伯乐在线 - 林欣达 如有好文章投稿,请点击 → 这里了解详情 如需转载,发送「转载」二字查看说明 前言 链式调用(chained calls)是指在函数调用返回了一个对象的时候,使得这个调用链 ...
- 【LeetCode】230. Kth Smallest Element in a BST (2 solutions)
Kth Smallest Element in a BST Given a binary search tree, write a function kthSmallest to find the k ...
- Nginx+FastCGI运行原理(一)
1 实战Nginx与PHP(FastCGI)的安装.配置与优化 1.1 什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTT ...
- SpringBoot配置属性之MQ
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- Android程序员必备精品资源
平时写程序中不断收集到的一些比较常用的东西,分享给大家. 实用工具集锦 Android Lifecycle https://github.com/xxv/android-lifecycle TinyP ...
- 【Android】Android 8种对话框(Dialog)
1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍 ...