公司的一个项目的分布式系统的服务管理,使用了阿里的服务框架Dubbo,因此这里准备对服务框架进行了介绍。
Dubbo服务框架可以使得java分布式系统之间进行解耦,使用一个服务注册中心来统一管理服务的信息,服务提供者提供注册中心进行注册,而服务消费者可以透明地订阅和消费服务。并支持服务的路由、过滤、负载均衡等,支持多种通讯协议及NIO框架,是一个灵活性和扩展性非常棒的服务管理框架。
本文以github中当前版本2.5.4的源码来分析。
为了支持更灵活的扩展性,当前dubbo拆分了非常多的project,下面以官网的总体模块图来说明各个模块的作用。
模块说明:
整体上按照分层结构进行分包,与分层的不同点在于:
从图中可以看到,每个模块都实现了多种扩展机制,供使用者选择,比如服务注册库registry实现了zookeeper、multicast、redis等多种机制,而我们选择了zookeeper来保存服务注册信息,这真是很贴心的开源框架啊!
原文地址:http://blog.csdn.net/wilbertzhou/article/details/38681319