什么是dubbo:
阿里巴巴开发的一款开源高性能rpc服务框架,用于开发分布式的应用。
各部分功能:
- Provider: 暴露服务的服务提供方。
- Consumer: 调用远程服务的服务消费方。
- Registry: 服务注册与发现的注册中心。
- Monitor: 统计服务的调用次调和调用时间的监控中心。
- Container: 服务运行容器。
运行原理:
(1)加载spring containner
(2)加载*.xml文件,其中包括你的服务提供者下面的xml文件,里面配置了服务接口的具体实现类。
(3)根据你的配置文件进行解析,和spring的加载很类似
(4)解析出要注册的地址,以及提供的服务,服务的协议、序列化方式等。
(5)将此服务向zookeeper上进行注册
(6)消费方配置自己的xml文件,其中包括注册中心的地址,以及要调用的服务接口。
(7)消费方去注册中心返回的服务器地址上,进行最终服务的调用,并提供多种序列化方式。
(8)最终获得结果数据,一次调用结束。
在这同时,还会有monitor进行调用的监控和统计等。