这是正在研发的Dubbo Admin,这一版Dubbo Admin名称改成了Dubbo OPS,目前功能简陋,不建议使用(2018/11月)。架构上使用了前后端分离。前端使用Vue实现,后端使用Spring Boot实现。在安装之前你需要先安装Node和NPM用于运行前端项目。成功安装后长这样:
前端部分
项目:dubbo-admin-frontend
使用作为javascript框架,作为UI框架
后端部分
项目:dubbo-admin-backend
标准spring boot工程
图
下载项目
GitHub 项目地址:
git clone https://github.com/apache/incubator-dubbo-ops.git
把项目clone下来后有
后端项目:dubbo-admin-backend 前端项目:dubbo-admin-frontend
生产环境配置
1、修改注册中心地址
在application-production.properties
中指定注册中心地址
dubbo-admin-backend/src/resources/application-production.properties
2、构建项目
mvn clean package
3、启动项目
mvn --projects dubbo-admin-backend spring-boot:run
4、访问
5、Swagger 支持
部署完成后,可以访问ip:port来查看所有的restful api
开发环境配置
项目:dubbo-admin-backend
是一个标准spring boot工程,可以在任何java IDE中运行它
package org.apache.dubbo.admin;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ApplicationContext;@SpringBootApplicationpublic class DubboAdminApplication { public static void main(String[] args) { ApplicationContext act = SpringApplication.run(DubboAdminApplication.class, args); SpringUtil.setApplicationContext(act); }}
项目:dubbo admin frontend
由npm管理和构建,在开发环境中,可以单独运行
构建安装程序
nodejs环境将自行安装,本文不介绍
# install dependencies$ npm install# serve with hot reload at localhost:8081$ npm run dev> dubbo-admin-frontend@1.0.0 dev F:\OpenSource\incubator-dubbo-ops\dubbo-admin-frontend> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js 95% emitting DONE Compiled successfully in 11312ms16:18:31 I Your application is running here: http://localhost:8081
页面访问 Dubbo OPS
访问 http://localhost:8081
, 由于前后端分开部署,前端支持热加载,任何页面的修改都可以实时反馈,不需要重启应用。
图1 图2
跨域问题
为了方便开发,我们提供了这种前后端分离的部署模式,主要的好处是支持前端热部署,在这种模式下,前端会通过8080端口访问后端的restful api接口,获取数据, 这将导致跨域访问的问题。因此我们在dubbo-admin-frontend/config/index.js
添加了支持跨域访问的配置,当前端通过npm run dev
单独启动时,这些配置将被激活,允许跨域访问