12. Springboot集成Dubbo3(三)Dubbo-Admin

目录

1、前言

2、安装

2.1、下载Dubbo-admin

2.2、修改配置

2.3、编译前端

2.4、访问

2.5、加载自己的服务

2.6、服务测试

2.7、其他

3、小结


1、前言

Dubbo Admin是用于管理Dubbo服务的基于Web的管理工具。Dubbo Admin提供了一个用户友好的界面,用于在分布式环境中监控和管理基于Dubbo的应用程序。

Dubbo Admin的主要特性包括:

  1. 服务管理。Dubbo Admin允许用户管理服务,包括注册、浏览和搜索Dubbo生态系统中的服务。
  2. 服务监控。它提供实时监控服务状态,包括响应时间、成功率和吞吐量等指标,帮助识别性能瓶颈和问题。
  3. 配置管理。用户可以通过Dubbo Admin动态配置Dubbo服务,包括超时设置、负载均衡策略和服务提供者/消费者等参数。
  4. 可视化。通常提供服务依赖关系、调用图等图形化表示,帮助用户了解服务之间的架构和关系。
  5. 日志和追踪。Dubbo Admin可能集成了日志记录和追踪系统,提供对服务交互的详细洞察,便于调试和故障排除。
  6. 安全性。通常包括管理访问控制、身份验证和授权的功能,以确保对Dubbo服务和管理界面的安全访问。

Dubbo-admin是前后端分离项目,前端使用vue开发,因此在使用之前需要具备nodejs环境。

2、安装

2.1、下载Dubbo-admin

官网文档地址:新版-dubbo-admin

下载Dubbo-admin:GitHub - apache/dubbo-admin: The ops and reference implementation for Apache Dubbo

git clone https://github.com/apache/dubbo-admin.git

下载后解压,导入idea。其源码分为几个部分:dubbo-admin-distribution生产环境,dubbo-admin-server开发环境后端,dubbo-admin-test测试服务,dubbo-admin-ui前端vue。

2.2、修改配置

点开dubbo-admin-server的application.properties,默认profiles为dev,选择application-dev.properties配置,修改zookeeper的注册信息。改为我们自己的zookeeper地址和端口,我们本地自己启动了一个zk,因此这里全部指向到本地。

admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata.address=zookeeper://127.0.0.1:2181

启动dubbo-admin-server,打印出以下信息则启动成功。

dubbo-admin-server的启动端口为38080。

2.3、编译前端

安装前端相关依赖:

npm install

依赖安装成功后,查看以下前端调用后端的服务端口,按需修改,查看vue.config.js:

这个的代理ip和端口需要和dubbo-admin-server的启动ip+端口一致。

启动:

npm run dev

前端控制台打印这个,则说明启动成功,访问前端地址的端口为38082。

2.4、访问

访问http://localhost:38082就可以看到dubbo-admin的页面。登录账号密码在application.properties中有配置,默认为roo/root。

2.5、加载自己的服务

通过以上几个简单的步骤,就可以启动dubbo-admin了,但是显然光是启动他根本满足不了我们的需求。我们是需要借用他来可视化管理我们的dubbo服务。

我们启动前面的springboot-dubbo3示例代码,这里的zookeeper需要和dubbo-admin注册的zookeeper必须同一个。

启动完成后,刷新一下dubbo-admin的服务查询列表页面,就可以看到我们注册的服务。

点击查看详情,可以看到具体的一些服务信息以及元数据信息,

2.6、服务测试

除了查看注册的服务信息以外,还可以对服务进行测试。这样服务生产者和消费者分离的方式,可以很好的使用类似二分法来进行问题定位。点击相应服务后面的测试按钮。

再点击方法列表后的测试按钮。

在相应的位置可以填写我们的参数,点击执行,就可以看到结果。加入我们线上某部分服务出现问题,可以借此先验证我们的生产者服务是否正常。

2.7、其他

除了上面介绍的几个简单的能力以外,dubbo-admin还提供了一系列服务治理的能力。如几种路由模式,黑名单,服务权重等能力。很大程度上能够更灵活的使用我们提供的服务治理。

除了服务治理能力外,还有一系列统计服务,规则配置能力等等。

3、小结

在使用dubbo框架中,dubbo-admin给我们提供了一系列可视化服务管理能力,在简化使用Dubbo构建的分布式系统的管理和监控方面发挥着关键作用,使开发人员和管理员能够更轻松地确保其应用程序的可靠性和性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/491095.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在IDEA中创建vue hello-world项目

工作中最近在接触vue前端项目,记录一下从0搭建一个vue hello world项目的步骤 1、本地电脑安装配置node、npm D:\Project\vue\hello-world>node -v v14.21.3 D:\Project\vue\hello-world>npm -v 6.14.18 D:\Project\vue\hello-world> 2、设置npm国内淘宝的景象 …

MySQL-基本使用,数据类型,简单操作

1. 数据库概述 1.1 数据库(DatBase) 数据库,就是遵循一定数据格式的数据集合,可以认为他是对文件系统的改进。它解决了不同操作系统之间,数据格式的兼容性问题。也就是说,只要是同一个数据库的数据文件,即使从windows迁…

基于springboot+vue的租房管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

第三方认证中心跳转

一、业务需求 由第三方认证中心将 token 放在 header (请求头) 中跳转系统,前端获取到第三方系统携带 header 中的 token。 二、 业务流程 模拟第三方应用 CUSTOM-USERTOKEN 是第三方的 tokenproxy_pass 是我们的前端地址 server {listen 12345;server_name loca…

前端导出下载文件后提示无法打开文件

问题 项目中的导出文件功能,导出下载后的文件打开提示如下: 原因 对返回的响应数据进行打印,发现响应数据为字符串格式,前期规划的后端返回数据应该 blob 对象的。后经排查后发现是请求头缺少了响应数据格式的配置,应…

python 循环语句 while 循环

while循环 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为: while 判断条件(condition): 执行语句(statements)…… 执行语句可以是单个语句…

【GameFramework框架内置模块】3、数据表(Data Table)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…

Python爬虫实战:图片爬取与保存

引言: 在本文中,我们将学习如何使用Python创建一个简单的图片爬虫。 我们将利用requests库来发送HTTP请求,BeautifulSoup库来解析HTML页面,以及os和shutil库来下载和保存图片。通过这个教程,你将学会如何爬取网…

16.沙箱里的秩序——外观模式

然后,冯诺伊曼又用三名士兵构建了与非门、或非门、异或门、同或门和三态门,最后只用两名士兵构建了最简单的非门,出总是举与入颜色相反的旗。 冯:诺伊曼对皇帝鞠躬说:“现在,陛下,所有的门部件都已演示完毕&#xff0c…

【Java程序员面试专栏 算法思维】五 高频面试算法题:贪心算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊贪心算法,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间买卖股票的最佳时机 II贪心算法遍历整个股票交易日价格列表 price,并执行贪心策…

力扣随笔之移除元素(简单27)

思路:定义一个指针left,使该指针及该指针左边的数全部都不等于val,定义一个遍历指针i,若nums[i] val,则i自加,若nums[i] ! val,则将left,并将nums[i]的值赋给nums[left]&#xff0c…

迅速了解Ascii、GBK、Unicode、UTF-8、BCD各种编码格式的由来及关系!

《嵌入式工程师自我修养/C语言》系列——迅速了解Ascii、GBK、Unicode、UTF-8、BCD各种编码格式的由来及关系 一、Ascii编码二、GBK编码三、Unicode编码四、UTF-8编码五、BCD编码六、其他网友的总结 快速学习嵌入式开发其他基础知识?>>>>>>>&g…