20.2.17 dubbo-admin控制台搭建、元数据不显示等相关问题

一. 项目拉取

官网搭建dubbo-admin

官网clone对应项目

  • 该admin控制台为前后端分离项目,需要分开跑前后端程序
  • url: https://github.com/apache/dubbo-admin

这里我使用IDEA进行 clone操作

由于Dubbo的更新,Readme可能会变,这里放张截图
在这里插入图片描述

目录结构如图:
在这里插入图片描述

二. 前后端项目启动

后端项目

  • 修改注册中心配置,启动主启动类
  • 或者修改配置后,mvn clean package打成jar包运行

这里是在IDE里启动
在这里插入图片描述

前端项目

  • 命令行打开到dubbo-admin-ui所在文件夹
  • 第一次运行,先执行npm install
  • 再npm run dev
  • 访问localhost:8081在这里插入图片描述
    在这里插入图片描述

这里写了个provider的demo,所以才有服务查询结果

三. 显示元数据

参考该 issues
官方文档提供的步骤

在这里插入图片描述

步骤

  • dubbo-admin-server,添加如下图代码
  • dubbo远程通信的服务提供者,的配置中添加dubbo.metadatareport.address=zookeeper://127.0.0.1:2181。我这使用的是SpringBoot搭建的服务提供者,pom如下
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.3</version>
        </dependency>

dubbo-admin-server
在这里插入图片描述

    @PostConstruct
    public void init() throws Exception {
        CuratorFramework zkClient = CuratorFrameworkFactory.builder().
                connectString("127.0.0.1:2181").
                retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();
        zkClient.start();

        if (zkClient.checkExists().forPath("/dubbo/config/dubbo/dubbo.properties") == null) {
            zkClient.create().creatingParentsIfNeeded().forPath("/dubbo/config/dubbo/dubbo.properties");
        }
        zkClient.setData().forPath("/dubbo/config/dubbo/dubbo.properties", ("dubbo.registry.address=zookeeper://127.0.0.1:2181\n" +
                "dubbo.metadata-report.address=zookeeper://127.0.0.1:2181").getBytes());
    }

服务提供方配置
在这里插入图片描述

这里要注意版本!版本!!版本。原先我在服务提供方使用2.7.5的jar,但是按这样配置,显示不出元数据,应该是元数据的配置写法和版本有关。后来改成2.7.3,就可以了。此提供方配置的写法,对应的是2.7.3的jar

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.3</version>
        </dependency>

显示结果
在这里插入图片描述

四. 简单一提: 服务熔断及服务降级

网上很多视频是教旧版的dubbo-admin控制台,找了旧版的控制台进行比较

1. dubbo-admin带的服务熔断及服务降级

服务降级: 根据实际业务情况,调整流量,关闭不必要的服务,防止影响核心业务

  • 通过dubbo-admin控制台,在消费者处 — 点屏蔽服务。即: 在消费者处就不会发起远程调用了,直接返回null

服务容错 — 失败为null: 当服务超时,调用端发生了错误,进行容错机制

  • 通过dubbo-admin控制台,在消费者处 — 点容错。即: 在消费者处进行远程调用,成功则远程调用,失败则是返回null
  • 上面的是学习旧版dubbo-admin的笔记。现在没有发现直接点击的降级与容错
  • 降级熔断还可以用hystrix

2. 旧版控制台

在这里插入图片描述

  • 旧版控制台可以直接控制服务熔断与服务降级
  • 在新版控制台,没有发现这个功能…手动狗头。有发现的话,可以tell tell me

3. dubbo服务降级熔断 原理

只深入一点,没太深究

官方文档提供的描述

在这里插入图片描述
1. 简单说明: 其实就是往zookeeper放入对应的节点标记,mock=force为降级配置,mock=fail为熔断配置。之后调用前,先去zookeeper查看对应节点,进行判断后,再决定是否调用服务

2. debug查看:

  • 上面图中 registry.register(URL.valueOf("override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null"));
  • debug时 对应的Registry实现类为ZookeeperRegistry,调用其register方法(该方法是在父类FailbackRegistry中)
    在这里插入图片描述
    在这里插入图片描述
  • 主要逻辑在doRegister方法中,doRegister为FailbackRegistry的抽象方法,具体实现在ZookeeperRegistry
  • 这里是模版方法模式,真滴很常用! ,有兴趣可以了解下

在这里插入图片描述
zookeeper中查看该对应节点
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将NacosDubbo-Admin集成之前,需要先确保已经完成了以下步骤: 1. 安装和启动Nacos服务; 2. 部署和启动Dubbo-Admin服务; 3. 在Dubbo-Admin服务中配置Dubbo的注册中心为Nacos。 下面是详细的搭建步骤: 1. 在Nacos中创建一个命名空间,并且在该命名空间下创建一个服务。例如,命名空间为dubbo,服务名称为dubbo-demo。 2. 在Dubbo-Admin服务中打开dubbo.properties文件,在文件中添加以下配置: ``` dubbo.registry.address=nacos://<Nacos服务器地址>:<Nacos服务器端口> dubbo.metadata-report.address=nacos://<Nacos服务器地址>:<Nacos服务器端口> ``` 其中,<Nacos服务器地址>和<Nacos服务器端口>分别为Nacos服务器的地址和端口号。 3. 在Dubbo-Admin服务中启动Dubbo-Admin应用程序。在浏览器中打开Dubbo-Admin的管理界面,并且在左侧的导航栏中选择服务管理。 4. 在服务管理页面中,选择dubbo-demo服务,并且在服务详情页面中,单击“编辑”按钮。在编辑页面中,配置服务的元数据,然后单击“保存”按钮。 5. 在服务详情页面中,单击“订阅”按钮,以便Dubbo-Admin能够自动发现和管理该服务。 6. 在Dubbo-Admin的管理界面中,选择服务监控。在服务监控页面中,可以查看dubbo-demo服务的状态和性能指标。 到此为止,NacosDubbo-Admin的集成就已经完成了。通过Dubbo-Admin的管理界面,可以方便地对Dubbo服务进行监控、管理和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值