一、前言
前面时间基于Spring的xml配置的方式搭建了一个简单的包含服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。本节我们不使用Spring配置方式,使用DUBBO提供的API来做。
二、服务注册中心
服务注册中心内容不变使用zookeeper实现服务注册中心。
首先你需要在 http://zookeeper.apache.org/releases.html 下载一个zk的包,并解压,本文作者使用的是zookeeper-3.4.11这个版本
然后修改zookeeper-3.4.11/conf文件夹里面的zoo.cfg文件里面的dataDir为一个存在的以data结尾的文
然后在zookeeper-3.4.11/bin 下运行sh zkServer.sh start-foreground 就会启动zk,会有下面输出
至此服务注册中心搭建完毕
三、服务提供与消费
本demo使用maven聚合功能,demo目录如下
其中Consumer模块为服务消费者
其中Provider模块为服务提供者
其中SDK模块是一个二方包,用来存放服务提供者所有的接口,是为了代码复用使用。
3.1 SDK模块
里面就定义了一个接口,代码如下:
3.2 服务提供模块
在该模块引入SDK模块,其实是为了使用UserServiceBo这个接口。
测试类TestProvider代码如下:
运行上面代码,在控制台会输出如下:
3.2 服务消费模块
首先引入SDK 二方包
执行代码输出如下:
说明已经消费到了服务提供者的服务了。
四、总结
本节使用API的方式搭建了一个服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。在非Spring环境下,可以尝试使用这种方式。
欢迎大家加入知识星球,在知识星球里面我们会深入讨论Java并发编程,以及JUC包源码;Java类加载器原理;Spring,Springboot,Tomcat等开源框架的使用以及源码剖析;分享作者从毕业到现在一路走来的学习经验,如何高效学习,如何阅读源码;讨论职业面试时候会经常遇到的问题以及如何作答,读者可以识别下面二维码加入: