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. leetcode841 Keys and Rooms

    """ There are N rooms and you start in room 0. Each room has a distinct number in 0, ...

  2. 吴裕雄--天生自然JAVA数据库编程:CallableStatement接口

    DELIMITER // DROP PROCEDURE myproc // -- 删除过程 CREATE PROCEDURE myproc(IN p1 int,INOUT p2 int,OUT p3 ...

  3. 吴裕雄--天生自然JAVA数据库编程:SQL常用语句基础

    DROP TABLE user ; -- 删除表 CREATE TABLE user( id INT AUTO_INCREMENT PRIMARY KEY , name ) NOT NULL , pa ...

  4. springmvc线程安全问题

    对于使用过SpringMVC和Struts2的人来说,大家都知道SpringMVC是基于方法的拦截,而Struts2是基于类的拦截.struct2为每一个请求都实例化一个action所以不存在线程安全 ...

  5. 007、MySQL日期取当前时间,取昨天

    #取今天文本格式 SELECT DATE_SUB( curdate( ), INTERVAL DAY ); #取昨天文本格式 SELECT DATE_SUB( curdate( ), INTERVAL ...

  6. 7.11 如何应用Varnish

    动态数据缓存 Step 1 修改devault.vcl文件 # This ) # man page for details on VCL syntax and semantics. # # Defau ...

  7. PG、GP与MySQL的特点和区别

    参考 PostgreSQL数据库 介绍:PostgreSQL是一种运行在Unix和Linux操作系统(在NT平台借助Cygnus也可以运行)平台上的免费的开放源码的关系数据库.最早是由美国加州大学伯克 ...

  8. java项目构建工具Maven

    一.java-maven常用命令 mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编 ...

  9. 2.9 学习总结 之 【Android】体温统计APP

    一.说在前面 昨天 学习了JQ的相关知识 今天 编写体温统计APP 我的工程源码:https://github.com/xiaotian12-call/Take-body-temperature 二. ...

  10. 微信公众号开发 获取openid时报错40029 invalid code 问题的解决

    {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: aELCyY4ce-WOFLAa ...