首页  

dubbo知识点     所属分类 dubbo 浏览量 1309
透明化的远程方法调用,就像调用本地方法一样调用远程方法
软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
基于注册中心实现服务自动注册与发现

核心配置

dubbo:service     
dubbo:reference
dubbo:protocol
dubbo:application
dubbo:module
dubbo:registry   注册中心
dubbo:monitor    监控中心
dubbo:provider
dubbo:consumer
dubbo:method
dubbo:argument


集群容错方案

Failover Cluster
默认
失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。
可通过 retries="2" 来设置重试次数(不含第一次)

Failfast Cluster
快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。

Failsafe Cluster
失败安全,出现异常时,直接忽略。通常用于写入审计日志等操作。

Failback Cluster
失败自动恢复,后台记录失败请求,定时重发。通常用于消息通知操作。

Forking Cluster
并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多服务资源。可通过 forks="2" 来设置最大并行数。

Broadcast Cluster
广播调用所有提供者,逐个调用,任意一台报错则报错。通常用于通知所有提供者更新缓存或日志等本地资源信息。



<dubbo:service cluster="failsafe" />
<dubbo:reference cluster="failsafe" />



负载均衡策略

RandomLoadBalance    默认
RoundRobinLoadBalance 
LeastActiveLoadBalance 
ConsistentHashLoadBalance


通信框架
默认使用 Netty  , 支持 Mina Grizzly

dubbo vs springcloud

dubbo使用二进制传输,占用带宽少
springCloud 基于 http协议传输  ,一般使用json 
dubbo jar包依赖问题多
springcloud 接口协议约定比较自由且松散,需要有强有力的措施来限制接口无序升级
dubbo 注册中心可以选择zk,redis等,springcloud 注册中心只能用eureka或者自研

上一篇     下一篇
zookeeper Java 客户端

服务注册与发现组件比较

mybatis动态更新自动去掉多余逗号

lambda使用说明

Redis cluster 原理

redis内存设置及淘汰策略