Spring Boot 2+Dubbo 学习系列3:dubbo-ops 之 Dubbo Admin

Dubbo Admin 是dubbo-ops 三模块中最容易使用的,因为它和其他两个(dubbo monitor和dubbo registry)不同,Dubbo Admin本身就是一个Spring Boot应用,也就是说它可以使用fat jar或者在IDE直接运行.而其他两个则是用脚本运行.
接下来我们看看Dubbo Admin怎么部署.

因为本身就是Spring Boot应用,所以其实就跟普通的应用一样.步骤如下:

1 获取项目

Dubbo Admin 是dubbo-ops的一个模块,拉取项目时需要将dubbo-ops整个拉取,dubbo-ops的github地址为https://github.com/apache/incubator-dubbo-ops,可以使用如下指令拉取

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

可以看到工程结构如下图
这里写图片描述
重点自然在application.properties 文件

2 修改配置文件

配置文件内容如下,一般只需要修改被我加了中文注释的几项

#服务端口
server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
#管理员登录密码
spring.root.password=root
#游客登录密码
spring.guest.password=guest
#注册中心地址
dubbo.registry.address=zookeeper://ip:2181?backup=ip:2182,ip:2183

需要注意的是注册中心集群时的写法,zookeeper集群用docker快速搭建可看以前的文章.
另外,管理员用户名是root,游客用户名是guest,默认密码与用户名相同.
而且,从项目里的LoginFilter.loginByDigest方法->LoginFilter.getUser方法->UserServiceImpl.findUser方法可以看出来,root和guest的密码是从配置文件读取的,但root和guest的用户名却是写死的…这里贴出com.alibaba.dubboadmin.governance.service.impl.UserServiceImpl.findUser方法的代码,其他请自行查阅

    @Value("${spring.root.password}")
    private String rootPassword;
    @Value("${spring.guest.password}")
    private String guestPassword;

    public User findUser(String username) {
        if ("guest".equals(username)) {
            User user = new User();
            user.setUsername(username);
            user.setPassword(Coder.encodeMd5(username + ":" + User.REALM + ":" + guestPassword));
            user.setName(username);
            user.setRole(User.GUEST);
            user.setEnabled(true);
            user.setLocale("zh");
            user.setServicePrivilege("");
            return user;
        } else if ("root".equals(username)) {
            User user = new User();
            user.setUsername(username);
            user.setPassword(Coder.encodeMd5(username + ":" + User.REALM + ":" + rootPassword));
            user.setName(username);
            user.setRole(User.ROOT);
            user.setEnabled(true);
            user.setLocale("zh");
            user.setServicePrivilege("*");
            return user;
        }
        return null;
    }

3 运行

然后就是打包运行啦,和普通的Spring Boot应用一样,没什么好说的.
从日志可以看出来,建立连接的过程和dubbo应用基本一样,感兴趣的可以看看前面的文章,这里就不再贴出来了.

4 查看效果

打开http://localhost:7001就可以看到效果了,因为全都是中文,所以比Eureka的管理界面看起来更舒服,这里贴几张图
dubbo管理控制台首页,可以看到统计数据
dubbo管理控制台首页
一个dubbo应用对应多个dubbo服务,而且一个dubbo应用可以集群部署,所以一个dubbo服务又可以对应多台主机
dubbo应用
添加路由规则页面,比较高级了,一般不会用到
添加路由规则页面

系列文章:
Spring Boot 2+Dubbo 学习系列1:使用Docker部署zookeeper
Spring Boot 2+Dubbo 学习系列2:搭建Spring Boot 2+Dubbo+Zookeeper集群
Spring Boot 2+Dubbo 学习系列3:dubbo-ops 之 Dubbo Admin

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值