成熟度

    策略成熟度

    FeatureMaturityStrengthProblemAdviseUser
    Zookeeper注册中心Stable支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo-2.3.3以上版本(推荐使用)依赖于Zookeeper的稳定性可用于生产环境
    Redis注册中心Stable支持基于客户端双写的集群方式,性能高要求服务器时间同步,用于检查心跳过期脏数据可用于生产环境
    Multicast注册中心Tested去中心化,不需要安装注册中心依赖于网络拓扑和路由,跨机房有风险小规模应用或开发测试环境
    Simple注册中心TestedDogfooding,注册中心本身也是一个标准的RPC服务没有集群支持,可能单点故障试用
    FeatureMaturityStrengthProblemAdviseUser
    Simple监控中心Stable支持JFreeChart统计报表没有集群支持,可能单点故障,但故障后不影响RPC运行可用于生产环境
    FeatureMaturityStrengthProblemAdviseUser
    Netty TransporterStableJBoss的NIO框架,性能较好(推荐使用)一次请求派发两种事件,需屏蔽无用事件可用于生产环境Alibaba
    Mina TransporterStable老牌NIO框架,稳定待发送消息队列派发不及时,大压力下,会出现FullGC可用于生产环境Alibaba
    Grizzly TransporterTestedSun的NIO框架,应用于GlassFish服务器中线程池不可扩展,Filter不能拦截下一Filter试用
    FeatureMaturityStrengthProblemAdviseUser
    Hessian SerializationStable性能较好,多语言支持(推荐使用)Hessian的各版本兼容性不好,可能和应用使用的Hessian冲突,Dubbo内嵌了hessian3.2.1的源码可用于生产环境Alibaba
    Dubbo SerializationTested通过不传送POJO的类元信息,在大量POJO传输时,性能较好当参数对象增加字段时,需外部文件声明试用
    Json SerializationTested纯文本,可跨语言解析,缺省采用FastJson解析性能较差试用
    Java SerializationStableJava原生支持性能较差可用于生产环境
    FeatureMaturityStrengthProblemAdviseUser
    Failover ClusterStable失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)重试会带来更长延迟可用于生产环境Alibaba
    Failfast ClusterStable快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作如果有机器正在重启,可能会出现调用失败可用于生产环境Alibaba
    Failsafe ClusterStable失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作调用信息丢失可用于生产环境Monitor
    Failback ClusterTested失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作不可靠,重启丢失可用于生产环境Registry
    Forking ClusterTested并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作需要浪费更多服务资源可用于生产环境
    Broadcast ClusterTested广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态速度慢,任意一台报错则报错可用于生产环境
    FeatureMaturityStrengthProblemAdviseUser
    Random LoadBalanceStable随机,按权重设置随机概率(推荐使用)在一个截面上碰撞的概率高,重试时,可能出现瞬间压力不均可用于生产环境Alibaba
    RoundRobin LoadBalanceStable轮询,按公约后的权重设置轮询比率存在慢的机器累积请求问题,极端情况可能产生雪崩可用于生产环境
    LeastActive LoadBalanceStable最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求不支持权重,在容量规划时,不能通过权重把压力导向一台机器压测容量可用于生产环境
    ConsistentHash LoadBalanceStable一致性Hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动压力分摊不均可用于生产环境
    FeatureMaturityStrengthProblemAdviseUser
    Spring ContainerStable自动加载META-INF/spring目录下的所有Spring配置可用于生产环境Alibaba
    Jetty ContainerStable启动一个内嵌Jetty,用于汇报状态大量访问页面时,会影响服务器的线程和内存可用于生产环境Alibaba
    Log4j ContainerStable自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录用户不能控制log4j的配置,不灵活可用于生产环境Alibaba