1.Zookeeper安装及启动

  可参考这篇文章https://www.cnblogs.com/geekdc/p/5948326.html

  从下载到启动都描述的很详细,按照文章一步一步走即可。

2.Dubbo-admin搭建及启动

  dubbo-admin的配置及启动推荐一篇文章https://blog.csdn.net/qq_28988969/article/details/79866111

  1. Github(https://github.com/apache/incubator-dubbo/tree/dubbo-2.6.0)) 下载发现没有dubbo-admin

  2. 在官网上下载dubbo-admin 2.6.0的Source Code(Zip) https://github.com/apache/incubator-dubbo/releases

    dubbo-admin的部署比较简单,可以打包放到Tomcat,也可以直接跑项目,我是直接导入Eclipse,步骤如下:

    2.1 修改WEB-INFO 下dubbo.properties文件

    dubbo.registry.address=zookeeper://127.0.0.1:2181
    dubbo.admin.root.password=root
    dubbo.admin.guest.password=guest

    2.2 在Tomcat中启动即可,查看控制中心,浏览器输入http://localhost:8888/dubbo-admin

3.创建provider注册dubbo服务

  • pom依赖

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>io.dubbo.springboot</groupId>
    <artifactId>spring-boot-starter-dubbo</artifactId>
    <version>1.0.0</version>
    </dependency>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
    </dependency>
    <!--不加会抛异常,暂时不知道原理 -->
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    </dependency> <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
     
  • application.properties配置文件

    ## Dubbo 服务提供者配置
    spring.dubbo.application.name=provider
    spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
    spring.dubbo.protocol.name=dubbo
    spring.dubbo.protocol.port=20880
    spring.dubbo.scan=com.wiaoong.provider
  • 注册dubbo 服务

    //接口类
    public interface ICompanyDubboService {
    Company evaluateCompany(String company,String evaluation);
    } //实现类
    import com.alibaba.dubbo.config.annotation.Service;
    import com.wiaoong.provider.dubbo.ICompanyDubboService;
    import com.wiaoong.provider.entity.Company; /**
    * 注册dubbo服务
    * @author wiaoong
    * @date 2019.02.21 15:18
    */
    @Service
    public class CompanyDubboServiceImpl implements ICompanyDubboService {
    @Override
    public Company evaluateCompany(String company, String evaluation) {
    return new Company(company, evaluation);
    }
    }
  • provider项目整体目录,直接启动项目会在buddo-admin看到已注册的服务

4.创建dubbo-comon,封装provider中注册的服务接口

    • provider项目整体目录

5.创建consumer引用dubbo服务

    • pom依赖同provider项目,另需引入步骤4生成的包dubbo-common.jar

    • application.properties配置

      ## 避免和 server 工程端口冲突
      server.port=8081 ## Dubbo 服务消费者配置
      spring.dubbo.application.name=consumer
      spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
      spring.dubbo.scan=com.wiaoong.consumer
    • 调用dubbo服务

      package com.wiaoong.consumer.dubbo;
      
      import org.springframework.scheduling.annotation.Scheduled;
      import org.springframework.stereotype.Service; import com.alibaba.dubbo.config.annotation.Reference;
      import com.wiaoong.provider.dubbo.ICompanyDubboService; /**
      * 调取dubbo服务
      * @author wiaoong
      * @date 2019.02.21 15:59
      */
      @Service
      public class CompanyDubboConsumerService { @Reference
      ICompanyDubboService companyDubboService; @Scheduled(fixedRate=5000)
      public void printStr() {
      System.err.println(companyDubboService.evaluateCompany("新博卓畅", "是一个骗子公司...是的..."));
      }
      }
    • consumer目录结构,直接启动项目,会在控制台打出所调用服务输出的结果

最后附上源码:https://gitee.com/wiaoong/studynotes.git

Dubbo+Zookeeper 入门Demo的更多相关文章

  1. 基于springboot构建dubbo的入门demo

    之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...

  2. dubbo快速入门demo

    参考文章 https://blog.csdn.net/abcwanglinyong/article/details/81906027 该demo包含三个项目,分别是: 服务提供端项目:provider ...

  3. Dubbo,Zookeeper入门

    Zookeeper 功能:分布式应用程序协调服务,集群管理者,监视集群各个节点状态-->提交反馈-->进行下一步合理操作: 机制:目录方式,当目录节点发生变化(数据改变,被删除,子节点增加 ...

  4. (转)Dubbo + Zookeeper入门初探

    一.搭建java和tomcat环境 二.搭建zookeeper 三.搭建dubbo监控中心 四.配置项目 4.1 服务提供方代码 4.2 服务使用方代码 五.测试 2018年2月15日,阿里巴巴的du ...

  5. Maven+SpringMVC+Dubbo 简单的入门demo配置

    转载自:https://cloud.tencent.com/developer/article/1010636 之前一直听说dubbo,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程 ...

  6. Dubbo(五) Dubbo入门demo——helloworld

    前言 前面我已经介绍了dubbo的一些基本工具和知识,让大家简单的了解了下RPC框架和Dubbo.接下来就是重点了,Dubbo的helloworld项目. 一.搭建项目 首先我们新建三个maven项目 ...

  7. windows下 zookeeper dubbo 安装+配置+demo 详细图文教程

    Java集群优化——dubbo+zookeeper构建 互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这 ...

  8. DUBBO分布式入门

    Dubbox框架简介: Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目广泛使用,但是后阿里巴巴对该项目停止维护了,当当网后来组建了一个团队一直维护Dubb ...

  9. springboot整合dubbo+zookeeper最新详细

    引入 最近和小伙伴做一个比赛,处于开发阶段,因为涉及的服务比较多,且服务需要分开部署在不同的服务器上,讨论之后,打算采用分布式来做,之前学习springboot的时候,部分章节涉及到了springbo ...

随机推荐

  1. IdentityServer4专题之一:OAuth2.0介绍

    1.OAuth 2.0授权方式介绍: OAuth 2.0 的标准是 RFC 6749 文件.该文件先解释了 OAuth 是什么: OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有 ...

  2. 创建Git本地仓库

    一.获取Git仓库 安装好Git后即可创建Git本地仓库,开始项目的版本管理.有两种方法取得Git项目仓库:1.在现有项目或目录下导入所有文件到Git中:2.从一个服务器克隆一个现有的Git仓库. 1 ...

  3. 深入了解memcached

    一.memcached如何支持高并发 Memcached使用多路复用 I/O模型(如epoll.select等).传统阻塞 I/O中,系统可能会因为某个用户连接还没做好 I/O准备而一直等待,直到这个 ...

  4. InnoDB 和 MyISAM的索引区别

    MyISAM索引实现 MyISAM索引文件和数据文件是分离的,索引文件的data域保存记录所在页的地址(物理存储位置),通过这些地址来读取页,进而读取被索引的行数据. MyISAM的索引原理图如下,C ...

  5. 【微信小程序】数组操作

    Page({ data: { list:[{ id:1, name:'应季鲜果', count:1 },{ id:2, name:'精致糕点', count:6 },{ id:3, name:'全球美 ...

  6. CSS - flex使行内元素快速对齐

    div{ display:flex; alian-items:center; //使垂直对齐 justify-content:center //使水平对齐 }

  7. tools.sublime.ConvertToUTF8

    sublime乱码,GBK乱码,安装插件ConvertToUTF8 下载ConvertToUTF8,解压,文件夹命名为ConvertToUTF8 sublime->Preferences-> ...

  8. SpringMVC 文件的上传、下载

    文件上传 (1)下载添加2个jar包 commons-fileupload.jar commons-io.jar SpringMVC的文件上传依赖于Apache的FileUpload组件,需要下载添加 ...

  9. 微信小程序提示:https://api.map.baidu.com 不在以下 request 合法域名列表中

    如果你想利用百度地图API定位来获得当前位置,但却出现了如标题所示问题,那么请接着看: 1.首先我们需要在百度地图开放平台(https://lbs.baidu.com/apiconsole/key?a ...

  10. 学习进度05(billbill长评爬取02)

    今天下雪了,是个看<白色相簿2>的好日子. 昨天我们获取所有长评url,今天要解析这些url获取更多的信息随便,点开一个,我们需要的数据有标题,时间,内容.点赞数和评论先不弄了. 解析js ...