• dubbo知识点之管理工具dubbo-admin分享


    前言

    dubbo的应用体系中,一直都有一款图形化的rpc管理工具,通过这款管理工具,我们可以对我们的rpc服务进行各种管理操作,包括负载均衡、权重调整、服务监测等,今天我们就先来简单看下这一款管理工具。

    管理工具

    dubbo的管理服务,现在也是一个独立的应用,我们可以将它独立部署。项目地址如下:

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

    根据官方介绍,目前的管理控制台已经发布0.1版本,结构上采取了前后端分离的方式,前端使用 Vue Vuetify 分别作为 Javascript 框架和UI框架,后端采用 Spring Boot 框架。既可以按照标准的 Maven 方式进行打包,部署,也可以采用前后端分离的部署方式,方便开发,功能上,目前具备了服务查询,服务治理(包括 Dubbo 2.7 中新增的治理规则)以及服务测试三部分内容。

    下面,我们看下如何在本地安装部署dubbo的管理控制台。

    下载

    首先,我们要下载dubbo-admin的源码包或者部署包,如果下载源码包的话,需要你自己打包,由于又是前后端分离的项目,所以这里我就偷个懒,直接下载部署包:

    修改配置

    下载完成后,直接解压,然后进入binconfig文件夹,这里有dubbo-admin的配置文件。因为后端是spring boot项目,所以这里的application.properties文件就是我们spring boot的配置文件,默认情况下,整个配置文件只有一些简单配置项:

    admin.registry.address=zookeeper://127.0.0.1:2181
    admin.config-center=zookeeper://127.0.0.1:2181
    admin.metadata-report.address=zookeeper://127.0.0.1:2181
    
    # nacos config, add parameters to url like username=nacos&password=nacos
    #admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
    #admin.config-center=nacos://127.0.0.1:8848?group=dubbo
    #admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo
    
    #group (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
    #admin.registry.group=dubbo
    #admin.config-center.group=dubbo
    #admin.metadata-report.group=dubbo
    
    #namespace used by nacos. (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
    #admin.registry.namespace=public
    #admin.config-center.namespace=public
    #admin.metadata-report.namespace=public
    
    admin.root.user.name=root
    admin.root.user.password=root
    
    #session timeout, default is one hour
    admin.check.sessionTimeoutMilli=3600000
    
    
    # apollo config
    # admin.config-center = apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo
    
    # (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
    #admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9
    #admin.apollo.appId=test
    #admin.apollo.env=dev
    #admin.apollo.cluster=default
    #admin.apollo.namespace=dubbo
    
    #compress
    server.compression.enabled=true
    server.compression.mime-types=text/css,text/javascript,application/javascript
    server.compression.min-response-size=10240
    

    因为没有项目的端口配置,所以默认情况下,dubbo-admin的访问端口是8080,当然你也可以自行修改;

    配置文件中,首先是注册中心、配置中心、元数据中心的配置,今天我们演示的注册中心是zk,所以这里就不修改了;

    紧接着是管理平台的登录用户名和密码,默认都是root,你也可以根据自己的需要修改;

    最后面是压缩的相关配置,这里应该是请求响应内容的压缩配置,主要是针对css/js以及页面等内容。

    启动

    完成以上内容配置,我们就可以启动测序下了。首先,我们要先启动zk,然后启动我们的管理平台,直接访问我们dubbo-admin的服务地址即可,我配置的端口是8001,所以我访问的地址是http://localhost:8001,然后会自动跳转到登录页面:

    输入我们配置的用户名和密码,即可登录成功:

    这个页面和我们之前分享的k8s的官方管理控制台很像。左侧是菜单栏,右侧是操作区域。

    测试演示

    控制台启动成功后,我们启动本地的dubbo项目,进行一些简单操作。

    在服务查询菜单下,我们可以看到我们刚刚启动好的服务,我们可以对这些服务进行测试、查看 详情以及其他操作。

    这里我们就只演示下测试,因为路由、黑白名单、负载均衡、权重这些,我们目前还没深入了解过。

    服务测试

    输入请求参数,点击执行,即可显示调用结果,这对我们平时觉得rpc不好测试的小伙伴简直就是福音,我们再也不用为rpc的测试而发愁了:

    接口文档

    接口文档这块需要引入dubbo-api-docs-annotationsdubbo-api-docs-core的相关引用,同时要在我们的接口上添加相应的注解,今天由于时间的关系,我们暂时就不演示了,后面我们会专门分享。

    服务mock

    写过单元测试的小伙伴应该对mock不陌生,这里应该也是一样的,主要是对服务的一些模拟调用,但是现在好像还不支持。

    服务统计

    服务统计这里包括两块功能,一个是服务统计,可以展示服务的提供者、消费者、线程等信息

    扩展

    当然,除了dubbo-admin这样的官方管理平台之外,dubbo还可以集成skywalking这样的第三方运维监控平台。skywalking的用法我们直接已经分享过了,和dubbo集成应该也很容易,后面有机会的话,我们可以捎带分享下,关于skywalking的内容,可以点击下面的链接回顾:

    总结

    dubbo-admin作为dubbo应用的控制管理平台,有着其强大的功能,特别是对rpc服务的监测、监控、以及相关配置的管理,更是一枝独秀。当然,我们今天分享的内容很简单,但是通过今天的内容,我也意识到对于dubbo应用的探索和学习,我觉得自己才刚刚起步,对于负载均衡、路由等相关知识,确实存在很多认知缺陷,但找到前进的方向有何尝不是一件值得庆幸的事呢?

  • 相关阅读:
    angular-ui-bootstrap的弹出框定义成一个服务的实践(二)
    分享百度文件上传组件webUploader的使用demo
    display的flex属性使用详解
    数组去重(初识ES6)
    在ng中的select的使用方法的讲解
    安装xamp之后,appach、mysql等问题的总结
    python中string.casefold和string.lower区别
    python3数据类型
    MySQL bin-log 日志清理方式
    python终端颜色设置
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/15150121.html
Copyright © 2020-2023  润新知