1. 起源
dubbo 是 阿里巴巴团队开发的,用于解决分布式项目的问题,是对 “微服务” 思想进行了部分实现的框架。现在已经捐给 Apach 组织进行维护。
在国内使用频率比较高。
可能是因为本国人员开发的,熟悉的人多,中文文档完善且优质以及框架本身比较简洁。
2. 特点
(1)框架整体简洁,只实现了微服务的远程调用,其他功能的实现需要自行组装,对开发人员的要求较高;
(2)可以和 Spring 全家桶进行很和谐的整合;
(3)配置简洁,使用过程中不复杂,配置完成后,注解即可完成服务注册;
(4)稳定性较高,默认的注册中心是 zookeeper, 也支持其他程序作为注册中心:redis, muiltcast, simple;
(5)由于停止了升级,dubbo 的版本短期内没有太大的改动,不会出现兼容问题;
(6)由 当当 团队开发的扩展版: Dubbox,支持 RestApi 的方式调用,Dubbo 只支持 TPC 方式的接口调用。
(7)中文文档完善,没有文档阅读上的障碍。
3. 使用过程
生产者注册服务到 zookeeper, 消费者从 zookeeper 上获取服务进行使用,dubbo-admin 单独安装,监控 dubbo 服务的具体运行状况。
(1)在服务器安装 zookeeper 服务,作为 dubbo 的注册中心;
(2)本地项目引入 dubbo, 根据开发文档进行配置;
(3)远程调用的对象需要进行序列化;
(4)若需要对服务进行监控,需要在服务器安装 dubbo-admin 服务,dubbox 监控台。
4. 缺点
(1)dubbo 只实现了 微服务 中最基本的远程调用模块,其他模块需要自行组装,相比于 SpringClound 的全家桶,没有那么完整。
(2)由于 研发团队的重组,dubbo 后续没有继续升级,比较粗糙。