Dubbo缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。
dubbo是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。
Spring Eureka从开源转变为闭源,Consul正在崛起,而Dubbo又开始重新更新。目前市场上仍有不少公司使用dubbo我们也需要继续学习。
1)默认使用的是什么通信框架,还有别的选择吗?
默认也推荐使用netty框架,还有mina
2)服务调用是阻塞的吗?
默认是阻塞的,可以异步调用,没有返回值的可以这么做
3)一般使用什么注册中心?还有别的选择吗?
推荐使用zookeeper注册中心,还有redis等不推荐