前言:今天在给我们开发人员亚亚哥搭建服务,部署上线,对Dubbo困扰了我很长时间,今天要将它一网打尽。。。。。
Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务治理框架,是一个非常全面的SOA基础框架,当当网在Dubbo基础上新增了一些功能,
并将其命名为Dubbox (Dubbo eXtensions)。
为什么需要dubbo ?
以前所有的业务处理,都在一个系统当中;
然而,这个系统按照业务又划分为N个业务系统;
各个业务系统之间不可避免需要交互,我们将面临很多URL 的管理,服务器之间的调用链,依赖关系,服务器的负载均衡,监控等等。。。。。
Dubbo是什么?
Dubbo本质上就是一个分布式服务调用的东西,高性能透明化的RPC调用方案 + SOA服务治理方案。
关键是Dubbo 的架构:
第一,Dubbo有一个注册中心Registry的概念,服务的提供者Provider将服务注册到Registry,消费者consumer 需要从Registry中发现,监听到服务的变动;
第二,Provider需要运行在Contailner容器中,另外Dubbo 提供Monitor来对服务的调用次数以及调用时间进行监控。
第三,常用的registry有zookeeper,Redis等,但一般是以Zookeeper作为注册中心。
example:
部署的项目如上:
在这些里面: kvm02的四个jar服务属于Provider
kvm01的Zookeeper是注册中心
kvm01中的rhea-handler.jar是Consumer
联系通过以下接口: