开发者指南
参与
流程
任务
版本管理
源码构建
框架设计
整体设计
模块分包
依赖关系
调用链
暴露服务时序
引用服务时序
领域模型
基本原则
扩展点加载
扩展点配置
扩展点自动包装
扩展点自动装配
扩展点自适应
扩展点自动激活
实现细节
初始化过程细节
远程调用细节
远程通讯细节
SPI 参考手册
协议扩展
调用拦截扩展
引用监听扩展
暴露监听扩展
集群扩展
路由扩展
负载均衡扩展
合并结果扩展
注册中心扩展
监控中心扩展
扩展点加载扩展
动态代理扩展
编译器扩展
消息派发扩展
线程池扩展
序列化扩展
网络传输扩展
信息交换扩展
组网扩展
Telnet 命令扩展
状态检查扩展
容器扩展
页面扩展
缓存扩展
验证扩展
日志适配扩展
技术兼容性测试
Protocol TCK
Registry TCK
公共契约
URL
日志
坏味道
URL 转换
调用参数
扩展点的加载
Callback 功能
Lazy 连接
共享连接
sticky 策略
服务提供者选择逻辑
编码约定
检查列表
设计原则
参与
流程
1. 如果是扩展功能,直接新增工程,黑盒依赖 Dubbo 进行扩展。
2. 如果是改 BUG,或修改框架本身,可以从 Dubb 的 GitHub 上 Fork 工程。
3. 修改后通过 Push Request 反馈修改。
任务
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
《用户指南》翻译
文档
高
未认领
待定
待定
0%
《开发指南》翻译
文档
高
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
扩展点兼容性测试
测试
高
已认领
罗立
树
待定
0%
性能基准测试
测试
高
未认领
待定
待定
0%
功能单元测试
测试
高
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
JTA/XA 分布式事务
拦截扩展
高
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
Thrift
协议扩展
高
开发完
成
闾刚
2012-04-27
90%
ICE
协议扩展
高
未认领
待定
待定
0%
ACE
协议扩展
低
未认领
待定
待定
0%
JSON-RPC
协议扩展
低
未认领
待定
待定
0%
XML-RPC
协议扩展
低
未认领
待定
待定
0%
JSR181&CXF(WebService)
协议扩展
高
开发完
成
白文
志
2012-04-27
90%
JSR311&JSR339(RestfulWebServi
ce)
协议扩展
高
未认领
待定
待定
0%
JMS&ActiveMQ
协议扩展
高
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
Protobuf
序列化扩展
高
调研
朱启
恒
2012-02-30
20%
Avro
序列化扩展
低
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
XSocket
传输扩展
低
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
CGLib
动态代理扩
展
低
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
JNDI
注册中心扩
展
高
未认领
待定
待定
0%
LDAP
注册中心扩
展
低
未认领
待定
待定
0%
JSR140&SLP
注册中心扩
展
高
未认领
待定
待定
0%
UDDI
注册中心扩
展
高
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
JMX
监控中心扩
展
高
未认领
待定
待定
0%
SNMP
监控中心扩
展
高
未认领
待定
待定
0%
Cacti
监控中心扩
展
高
未认领
待定
待定
0%
Nagios
监控中心扩
展
高
未认领
待定
待定
0%
Logstash
监控中心扩
展
高
未认领
待定
待定
0%
JRobin
监控中心扩
展
高
未认领
待定
待定
0%
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
Maven
服务安装包
仓库
低
未认领
待定
待定
0%
Subversion
服务安装包
仓库
低
未认领
待定
待定
0%
JCR/JSR283
服务安装包
低
未认领
待定
待定
0%
仓库
功能
分类
优先
级
状态
认领
者
计划完成时
间
进
度
SimpleDeployer
本地部署代
理
低
未认领
待定
待定
0%
SimpleScheduler
资源调度器
低
未认领
待定
待定
0%
版本管理
新功能的开发 和 稳定性的提高 对产品都很重要。
但是添加新功能对影响稳定性,Dubbo 使用如下的版本开发模式来保障两者。
2 个版本并行开发
BugFix 版本,低版本,比如 2.4.x。是 GA 版本,线上使用的版本,只会 BugFix,升
级第三位版本号。
# 这个版本可放在 SVN 的 Fix 分支上。
新功能版本,高版本,比如 2.5.x。加新功能的版本,会给对新功能有需求的应用试用。
# 这个版本可放在 SVN 的 Trunk 上。
2.5.x 的新功能基本稳定后,进入 2.5.x 试用阶段。找足够多的应用试用 2.5.x 版本。
在 2.5.x 够稳定后:
1. 2.5.x 成为 GA 版本,只 BugFix,推广使用此版本。
# 如何可行,可以推进应用在期望的时间点内升级到 GA 版本。
2. 2.4.x 不再开发,应用碰到 Bug 让直接升级。(这个称为“夕阳条款”)
3. 从 2.5.x 拉成分支 2.6.0,作为新功能开发版本。
优势
保持 GA 版本是稳定的!因为:
只会作 BugFix
成为 GA 版本前有试用阶段
新功能可以高版本中快速响应,并让应用能试用新功能。
不会版本过多,导致开发和维护成本剧增
用户要配合的职责
由于开发只会 BugFix GA 版本,所以用户需要积极跟进升级到 GA 版本,以 Fix 发现的问题。