dubbo教程-06-dubbo-admin 控制台的搭建过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31922571/article/details/84891163

写在前面

hello 大家好欢迎大家
来到御风大世界
本次课是我们dubbo系列课程的第6课
在这次课我们将为大家演示
如何编译自己的 dubbo-admin
并且部署运行这个dubbo-admin

dubbo-admin 是用来干嘛的?

dubbo-admin 是dubbo的控制台web程序
可以利用浏览器 来 进行 dubbo的一些性能监控
服务治理 降级 分组
还有就是一些参数的设置
整个服务平台的管理功能
他是一个 dubbo 中的 子 项目
打包以后是一个 war 包
可以部署到 tomcat等容器
大概长这个样子

imagepng

我本来想去 github 下载这个源码的
不过遗憾的时候 没有找到 dubbo admin
于是我看了下issue
是不是别人也有这样的问题

imagepng

结果是这样的
现在的这个东西叫做 incubator-dubbo-ops

他是一个由Apache 维护的新的dubbo的管理软件
我们看下他的具体介绍

Dubbo控制台

前端部分

后端部分

  • 标准spring boot工程

生产环境配置

  1. 下载代码: git clone https://github.com/apache/incubator-dubbo-ops.git

  2. 在 dubbo-admin-backend/src/resources/application-production.properties中指定注册中心地址

  3. 构建

    • mvn clean package
  4. 启动 mvn --projects dubbo-admin-backend spring-boot:run

  5. 访问 http://localhost:8080


开发环境配置

  • 运行dubbo admin backend
    dubbo admin backend是一个标准的spring boot项目, 可以在任何java IDE中运行它
  • 运行dubbo admin frontend
    dubbo admin frontend由npm管理和构建,在开发环境中,可以单独运行: npm run dev
  • 页面访问
    访问 http://localhost:8081, 由于前后端分开部署,前端支持热加载,任何页面的修改都可以实时反馈,不需要重启应用。
  • 跨域问题
    为了方便开发,我们提供了这种前后端分离的部署模式,主要的好处是支持前端热部署,在这种模式下,前端会通过8080端口访问后端的restful api接口,获取数据, 这将导致跨域访问的问题。因此我们在dubbo-admin-frontend/config/index.js添加了支持跨域访问的配置,当前端通过npm run dev单独启动时,这些配置将被激活,允许跨域访问

本地测试

首先我们 下载他的源码

git clone https://github.com/apache/incubator-dubbo-ops.git

imagepng

接着我们用IDEA来打开他

imagepng

我们发现他是一个 前后端分离的 应用哦
这一点 真的很牛逼
越来越跟上潮流了

我们首先让程序运行起来
- 在 dubbo-admin-backend/src/resources/application-production.properties中指定注册中心地址

可能你会遇到下面的错误 是因为我们的 maven版本不行
我们升级下maven版本

[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.6:install-node-and-npm (install node and npm) on project dubbo-admin-frontend: The plugin com.github.eirslett:frontend-maven-plugin:1.6 requires Maven version 3.1.0 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginIncompatibleException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :dubbo-admin-frontend

我们升级到 最新的 maven

imagepng

你会在 运行命令
mvn clean package 的过程中看到这样一句话
我们正在下载 和 生成 node 环境

[INFO] Installing node version v9.11.1
[INFO] Downloading https://nodejs.org/dist/v9.11.1/node-v9.11.1-win-x64.zip to D:\luckincoffee\env\apache-maven-3.6.0\resp\com\github\eirslett\node\9.11.1\node-9.11.1-win-x64.zip
[INFO] No proxies configured
[INFO] No proxy was configured, downloading directly
[INFO] Unpacking D:\luckincoffee\env\apache-maven-3.6.0\resp\com\github\eirslett\node\9.11.1\node-9.11.1-win-x64.zip into D:\githubTest\incubator-dubbo-ops\dubbo-admin-frontend\node\tmp
[INFO] Copying node binary from D:\githubTest\incubator-dubbo-ops\dubbo-admin-frontend\node\tmp\node-v9.11.1-win-x64\node.exe to D:\githubTest\incubator-dubbo-ops\dubbo-admin-frontend\node\node.exe

中途可能会出现一些 异常情况
尝试 关闭你的 占用文件夹 或者 git 客户端 (这个自己根据自己情况来)

然后 你再次 运行 mvn clean package
就会构建成功的

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for dubbo-admin 0.0.1-SNAPSHOT:
[INFO] 
[INFO] dubbo-admin ........................................ SUCCESS [  0.935 s]
[INFO] dubbo-admin-frontend ............................... SUCCESS [03:12 min]
[INFO] dubbo-admin-backend ................................ SUCCESS [01:10 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:23 min
[INFO] Finished at: 2018-11-28T15:35:47+08:00
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "nexus" could not be activated because it does not exist.

因为我们的 这个管理程序 是 前后端分离的
前端需要 运行在 node 环境之上

maven 在构建的 时候 会同时执行 node 相关命令的
并且 第一次构建完毕之后
node 进行 就会运行起来的
所以这个时候 我们需要 运行我们的后端程序

找到这个类
imagepng

直接点击运行就好了

如果你出现 编译错误的话 可能需要调节 目标 jdk版本
我是IDEA 我是这样调节的

imagepng

我视频里面也有讲解 可以看下

然后我们的程序会启动 打开浏览器
imagepng

接下来我们启动我们之前的 provider consumer
注意 因为我们之前的 tomcat 也是 8080 所以 我们需要修改端口然后再启动
启动以后我们就可以在 dubbo-admin 查看和管理我们的服务了

我们这里输入 * 点击搜索
imagepng

我尝试了
除了 这个 功能可以用之外 其他的都还是在开发阶段
好吧 我们只能期待了
此时我只想说
看看人家springcloud

还是用老版本的吧

我们来到 这个地址
https://github.com/apache/incubator-dubbo/releases
下载老版本的 dubbo 发行版本

imagepng

然后我们解压他 找到 dubbo-admin

imagepng

同样的 我们把他 加载到 IDEA

然后 用maven工具构建他
我实话 说一句 这个过程真的有点长
你可以去我的公众号 下载 我已经编译好的 dubbo-admin.war
关注公号 , 回复文字 dubbo 就可以下载了

找到我们的配置文件
它默认的配置是这样的
imagepng

我们启动项目
看到了熟悉的控制台 关键还是中文的

imagepng

接下来就可以开始愉快的玩耍了

imagepng

后记

我们对比了新的控制台 和 老的控制台
新的控制台 好像更加牛逼了
最起码 界面做起来很吊的样子
我们对他充满期待
老的控制台 如果是用到生产环境中的话
我们可以在网上找到的资源也会相应的多一些
这一点我觉得很不错的
如果大家对于这篇文章有什么不理解的地方可以留言告诉我
也可以看我的视频
视频教程:https://www.bilibili.com/video/av36799192/
课程源码:https://github.com/ibywind/dubbo-learn
关注公众号 查看更多技术干货
还可加群 , 众多好基友在等你

猜你喜欢

转载自blog.csdn.net/qq_31922571/article/details/84891163
今日推荐