spring boot 集成 dubbo 的 demo 使用 dubbo-admin进行监控_dubbo-admin 接口文档-程序员宅基地

技术标签: Java  

一、项目结构

在这里插入图片描述

二、Maven依赖

consumer

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>com.alibaba.spring.boot</groupId>
      <artifactId>dubbo-spring-boot-starter</artifactId>
      <version>${
    dubbo.starter.version}</version>
    </dependency>

    <dependency>
      <groupId>${
    project.groupId}</groupId>
      <artifactId>dubbo-common</artifactId>
      <version>${
    project.version}</version>
    </dependency>

    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>${
    zkclient.version}</version>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

provider

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>com.alibaba.spring.boot</groupId>
      <artifactId>dubbo-spring-boot-starter</artifactId>
      <version>${
    dubbo.starter.version}</version>
    </dependency>

    <dependency>
      <groupId>${
    project.groupId}</groupId>
      <artifactId>dubbo-common</artifactId>
      <version>${
    project.version}</version>
    </dependency>

    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>${
    zkclient.version}</version>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

三、各个模块

common提供接口接口,接口实现类在provider中,在consumer中调用方法

common

public interface HelloService {
    
    /**
     * 问好
     *
     * @param name 姓名
     * @return 问好
     */
    String sayHello(String name);
}

consumer

@RestController
@Slf4j
public class HelloController {
    
    @Reference
    private HelloService helloService;

    @GetMapping("/sayHello")
    public String sayHello(@RequestParam(defaultValue = "hello dubbo") String name) {
    
        log.info("i'm ready to call someone......");
        return helloService.sayHello(name);
    }
}

配置

server:
  port: 8080
  servlet:
    context-path: /demo

spring:
  dubbo:
    application:
      name: spring-boot-demo-dubbo-consumer
      registry: zookeeper://127.0.0.1:2181

provider

@Service // 这注解不是spring的是com.alibaba.dubbo.config.annotation.Service下的注解
@Component
@Slf4j
public class HelloServiceImpl implements HelloService {
    
    /**
     * 问好
     *
     * @param name 姓名
     * @return 问好
     */
    @Override
    public String sayHello(String name) {
    
        log.info("someone is calling me......");
        return "say hello to: " + name;
    }
}

配置

server:
  port: 9090
  servlet:
    context-path: /demo

spring:
  dubbo:
    application:
      name: spring-boot-demo-dubbo-provider
      registry: zookeeper://localhost:2181

四、需要安装zookeeper

zookeeper 默认端口是2181

参考文章:https://blog.csdn.net/y1534414425/article/details/110748867

五、运行

先运行zookeeper,在运行providerconsumer

  1. 进入服务提供方 spring-boot-demo-dubbo-provider 目录,运行 SpringBootDemoDubboProviderApplication.java
  2. 进入服务调用方 spring-boot-demo-dubbo-consumer 目录,运行 SpringBootDemoDubboConsumerApplication.java
  3. 打开浏览器输入 http://localhost:8080/demo/sayHello ,观察浏览器输出,以及服务提供方和服务调用方的控制台输出日志情况

六、使用dubbo-admin进行监控

项目地址:https://github.com/apache/dubbo-admin

这是一个前后端分离的项目,所以要运行两个项目。
在这里插入图片描述
运行后端的时候默认端口是8080,可能会和其他程序端口冲突。自行修改一下,我这用的是8088
在这里插入图片描述
后端端口地址修改了,前端也要跟着改。配置地址如图所示
在这里插入图片描述
前后端项目都运行起来后,浏览器打开:http://localhost:8082/,用户名密码都是root

这是我们刚才搭建的dubbo的服务
在这里插入图片描述
提供者和消费者监控
在这里插入图片描述
在这里插入图片描述
还有很多其他的监控功能
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/y1534414425/article/details/110749486

智能推荐

古月居教程之:“robot_marm”包直接编译出错_github guyueju-程序员宅基地

文章浏览阅读418次,点赞4次,收藏2次。使用古月居的“robot_marm”包直接编译出错在ubuntu18,自己建的工作空间里面,将“ros_exploring-master”整个功能包拉进去工作空间编译发生报错,因为只需要用到“robot_marm”这个包(跟着书上做机械臂仿真),但是只用这个包也报错,就找了下解决方法。其中是因为少了两个数据结构的包,git clone到工作空间的src文件夹下就好了。git clone https://github.com/ros-interactive-manipulation/manipulati_github guyueju

5、JSP面试题总结-程序员宅基地

文章浏览阅读2.5k次。文章目录1、静态包含和动态包含的区别2、jsp有哪些内置对象?作用分别是什么?1、静态包含和动态包含的区别语法:静态包含:include指令是静态包含,静态包含的意思就是:把文件的代码内容都包含进来,再编译!<%@ include file=""%>动态包含:include行为是动态包含。其实include行为就是封装了request.getRequestDispatcher(String url).include(request,response) <jsp: include _jsp面试

google vr 入门之制作简易的VR播放器(三),android学生管理系统项目视频_自己的android app中集成vr浏览器-程序员宅基地

文章浏览阅读192次。// 使用google vr 添加的compile ‘com.google.vr:sdk-base:1.40.0’compile ‘com.google.vr:sdk-audio:1.40.0’compile ‘com.google.vr:sdk-videowidget:1.40.0’添加这些依赖包之后google给我们的生成了哪些library库呢?![](https://img-blog.csdn.net/20170427162756208?watermark/2/text/aHR0cDovL_自己的android app中集成vr浏览器

db和dbm_it dbm-程序员宅基地

文章浏览阅读1.8k次。DB :DB是一个纯计数单位:dB = 10logX。dB的意义其实再简单不过了,就是把一个很大(后面跟一长串0的)或者很小(前面有一长串0的)的数比较简短地表示出来。如:X = 1000000000000000(多少个了?)= 10logX = 150 dB X = 0.000000000000001 = 10logX = -150 dB DB在缺省情况下总是定义功率单位,以 1_it dbm

芯片验证从零开始系列(一)——芯片验证概论-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏78次。芯片验证从零开始系列(一)——芯片验证概论芯片开发流程动态验证技术静态验证技术Emulation和FPGA原型开发由于最近一个比赛要用到UVM验证,顺便多一门以后求职的手艺,准备系统地学习一下SV和UVM,也可以为之后的毕业论文和发展方向做一些准备。芯片开发流程1)市场人员和客户沟通确定用户需求2)系统设计人员按照功能划分为各个子系统3)子系统由设计团队开发实现4)验证人员对设计功能展开验证,发现设计缺陷,交由设计人员修正5)验证没有出现漏洞后,交由后端人员进行综合,布局布线6)后端人员将_芯片验证

RabbitMQ详解(一):RabbitMQ相关概念_obpmq-程序员宅基地

文章浏览阅读8.9k次,点赞24次,收藏26次。RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开发者,有必要对RabbitMQ有所了解,本系列是RabbitMQ快速入门文章,主要内容包括RabbitMQ是什么、RabbitMQ核心概念、五种消息模型、用Docker安装RabbitMQ等。_obpmq

随便推点

利用Mysql into outfile给网站留后门-程序员宅基地

文章浏览阅读9.6k次。Mysql into outfile使用Mysql into outfile语句,可以方便导出表格的数据。同样也可以生成某些文件。因此有些人会利用sql注入生成特定代码的文件,然后执行这些文件。将会造成严重的后果。Mysql into outfile 生成PHP文件SELECT 0x3C3F7068702073797374656D28245F524551554553545B636D645D293B3

商业智能软件对比评测: FineBI 和 Tableau -程序员宅基地

文章浏览阅读358次。FineBI和Tableau是比较好的自助式商业智能软件,功能都很强大,是企业数据可视化不可或缺的利器,但两款产品还是有非常大的区别的,例如Tableau的功能全面且深入,更适合专业的数据分析人员,而FineBI则是面向普通的业务人员,数据分析过程更人性化,更简单和易用,并为企业提供了全面的数据管理和用户管理策略。下面对这两款商业智能软件做个对比评测。一、产品理念FineBI是帆软公司推出的自助..._centos7安装finebi

JQuery Ajax Maven [A]_ajaxmaven-程序员宅基地

文章浏览阅读190次。2020 JQuery Ajax Maven Spring MyBatis [A]JQuery + JQueryAjaxJQuery + JQueryAjax 1: JQueryJQuery + JQueryAjax 2: JQueryAjaxMavenSpringMVC MyBatisSpringMVC MyBatis 1: SpringMVCSpringMVC MyBatis 2: MyBatisSpringMVC MyBatis 3: MavenSpringMVC MyBatis 4: Spring_ajaxmaven

通信原理与MATLAB(八):2PSK的调制解调_psk解调-程序员宅基地

文章浏览阅读1.9w次,点赞60次,收藏310次。通信原理和MATLAB_psk解调

Halcon 3D定位方法-程序员宅基地

文章浏览阅读1.9k次。Descriptor-based Matchinguncalibrated mathcing return perspective map,calibrated matching return pose.find_calib_descriptor_model()Deformable MatchingFind objects with perspective distort..._halcon 3d定位

用 Hadoop 进行分布式并行编程, 第 3 部分_hdfs dfs -copyfromlocal /home/hadoop/temp/* /tempd-程序员宅基地

文章浏览阅读706次。Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。在本文中,详细介绍了如何部署 Hadoop 分布式运行环境,如何让程序分布式运行于多台普通的计算机上,如何使用 IBM MapReduce Tools 轻松地将 MapReduce 程序部署到 Hadoop 分_hdfs dfs -copyfromlocal /home/hadoop/temp/* /tempdir

推荐文章

热门文章

相关标签