回国后,各个公司都对Dubbo有要求,而入职的第一份工作,是负责金融AI的工作,前期没有太多任务,主要是研究算法,因此,就在这个时间,把系统熟悉下,也让自己多学习一些架构的知识,这里折腾了一天,弄了一个Dubbo的Demo,供学习的各位参考。也是为自己复盘和日后参考使用。
其实,说句实话,计算机的世界,技术每天都更新换代,我们不可能脑袋里记住所有的东西,因此网络上查资料,查找曾经的人遇到的同样问题,作为启发,然后进而创建自己的程序,是一个必要的方法。因此,才会有这篇分享。也许你会在使用我的文档时,遇到不可预见的问题,请先耐心百度或者谷歌查找解决方案。然后结合自己的思考。我亦会尽量保持我的代码自己可以测试通过。
Dubbo的原理,我就不写了,大家都可以查到资料。总的来说,是一个分布式服务的管理框架。
初始准备:对于刚开始创建一个Dubbo,我们要做一些本地的初始准备工作,一是安装zookeeper,可以在本地调试成功。
我用的intellij 创建的项目,所以这里截图都是Intellij模式下的。
首先创建一个Maven空白项目。其实空白项目,也可以参考我之前写的SPRING 4.0手工创建RESTFul那个文档。
项目名字,可以叫dubbo,自己决定。
之后,项目建立好以后,鼠标右键选择项目,选New,然后选择Module,创建三个Module,分别是:
dubbo-demo-api
dubbo-demo-provider
dubbo-demo-consumer
对IDEA使用还不熟悉的,不知道如何建立Module的,可以网上搜索一些参考文档:https://blog.csdn.net/winy_lm/article/details/64937062
在总的POM.xml中需要添加一些关于DUBBO的依赖。这部分我会在代码上传到git上之后,大家自行下载参考。
服务接口
在API模块,写入一个基本的demo类,DemoService,封装一个接口,sayHello
package api;
public interface DemoService {
StringsayHello(String name);
}
服务实现
Provider模块要做的工作,就是对API封装的服务进行实现,然后提供给具体的消费者使用。
所以,这里主要三个工作,一是写实现类。DemoServiceImpl
public class DemoServiceImplimplements DemoService {
public StringsayHello(String name) {
return name +" test a dubbo demo";
}
}
二是编写配置文件,将zookeeper的地址和端口配置进去,同时把我们创建的服务配置到里面,作为服务发布。
三是编写服务器启动的main方法,让服务出于启动状态。
服务消费者
消费者的作用,就是对服务的调用。所以这儿就写了一个简单的测试类
但是配置文件里面,还是要配置zookeeper的地址和对服务的引用。
这样基本的DEMO就完成了。这里我们可以测试下,先安装zookeeper,然后在本地启用。BIN目录下,会有zkServer.cmd,执行一下。
然后启动我们之前写好的provider主程序,然后在启动你的服务者,就可以看到结果了。这里打印输出了一行字符串“haifeng test a dubbo demo”
网友评论