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. Spark 读 Hive(不在一个 yarn 集群)

    方法一 1. 找到目标 Hive 的 hive-site.xml 文件,拷贝到 spark 的 conf 下面. 在我的情况下 /etc/hive/conf/hive-site.xml -> / ...

  2. 2. 引用计数法(Reference Counting)

    1960年,George E. Collins 在论文中发布了引用计数的GC算法. 引用计数法意如了一个概念,那就是"计数器",计数器表示的是对象的人气指数, 也就是有多少程序引用 ...

  3. POJ 2391 Ombrophobic Bovines 网络流 建模

    [题目大意]给定一个无向图,点i处有Ai头牛,点i处的牛棚能容纳Bi头牛,求一个最短时间T使得在T时间内所有的牛都能进到某一牛棚里去.(1 <= N <= 200, 1 <= M & ...

  4. 二 Hibernate 改写学生管理系统的业务功能

    public class StudentDaoImpl implements StudentDao { @Override /** * 查询所有学生 * * @throws SQLException ...

  5. 十二 事务&安全问题&隔离级别

    事务 transaction,指一组操作,里面包含许多单一逻辑,只要一个逻辑没有执行成功,那么都算失败.所有的数据都回到最初的状态(回滚). 为什么要有事务? 确保逻辑的成功,例子:银行转账 事务针对 ...

  6. phpstrom+win10拼音输入法不跟随情况

    PHPSTORM拼中文时悬浮框一直在右下角,真是逼死强迫症的操作! 最好解决方案: 下载讯飞输入法,虽然有点不习惯,用着用着就行了 等待官方修复着bug吧; 网上说的直接下载jre64覆盖原来的版本也 ...

  7. uboot的环境变量

    https://www.cnblogs.com/biaohc/p/6398515.html uboot 环境变量实现原理: 首先我们先要搞清楚uboot中环境变量的作用,uboot中环境变量的作用就是 ...

  8. spring core:@AliasFor的派生性

    spring对Annotation的派生性应用可谓炉火纯青,在spring core:@Component的派生性讲过支持层次上派生性,而属性上派生的需求则借助了@AliasFor,它是从spring ...

  9. ASP.NETCore -----导出Excel文件并下载

    本事例分为nopi(安装DotNetCore.NPOI)下载和EPPlus(EPPlus.Core.dll)下载,其中npoi下载演示的是根据执行的模板进行数据下载 npoi帮助类NpoiExcelU ...

  10. c# GlobalAddAtom GlobalDeleteAtom

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...