美文网首页
Dubbo 服务实例Demo

Dubbo 服务实例Demo

作者: 暴走的狐狸 | 来源:发表于2018-11-06 11:05 被阅读0次

      回国后,各个公司都对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”

    相关文章

      网友评论

          本文标题:Dubbo 服务实例Demo

          本文链接:https://www.haomeiwen.com/subject/mehlbftx.html