随着阿里巴巴开源的分布式RPC框架Dubbo成为Apache开源卵化器项目,Dubbo有火了一把。在接下来的一段时间本公众号 '技术原始积累' 将会时不时的发布一些dubbo使用与原理剖析的文章。
image.png
dubbo架构如上图,本文作为一个开始先讲讲使用dubbo搭建一个简单的含有服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。
服务注册中心常见的有下面几种实现
image.png
本文讲解使用zookeeper实现服务注册中心。
image.png
image.png 可知zk在端口2181进行监听。
至此服务注册中心搭建完毕
本demo使用maven聚合功能,demo目录如下
image.png
里面就定义了一个接口,代码如下:
image.png
在该模块执行mvn clean install 命令会按照该模块的jar到本地仓库。
在该模块引入SDK模块,其实是为了使用UserServiceBo这个接口。 然后UserServiceImpl实现代码如下:
image.png
配置文件provider.xml内容如下:
image.png
日志文件log4j.properties内容如下:
image.png
测试类TestProvider代码如下:
image.png
运行上面代码,在控制台会输出如下:
image.png
说明该服务已经注册到了zk.
首先引入SDK 二方包 配置文件consumer.xml内如如下:
image.png
测试类代码如下:
image.png
执行代码输出如下:
image.png
说明已经消费到了服务提供者的服务了。
本节作为一个引子,简单介绍了Dubbo架构里面的服务提供者,消费者,服务注册中心的简单使用。后期会在本公众号 '技术原始积累' 的精品区下分析dubbo实现原理,敬请期待。