你们好,今天开始给你们分享 — Dubbo 专题之 Dubbo Admin 部署。在前一个章节中咱们介绍了 Dubbo 服务治理,以及咱们也从架构的演进进行探讨分布式发展的背景,同时咱们知道 Dubbo 中的服务治理主要做用是改变运行时服务的行为和选址逻辑、达到限流、权重配置等目的,其中 Dubbo 服务治理提供了:服务发现注册、服务监控、集群容错、负载均衡、黑白名单、标签路由、条件路由、权重调节等能力。那有的小伙伴想知道这些服务治理咱们在那里能够管理和维护呢 ?那么本章节就围绕着咱们要使用的服务治理管理控制台展开。下面就让咱们快速开始吧!前端
下面来自于官网的简介:Dubbo Admin 在架构上采起了先后端分离的方式,前端使用 Vue
和 Vuetify
分别做为 Javascript
框架和 UI
框架,后端采用 Spring Boot
框架。既能够按照标准的 Maven 方式进行打包、部署,也能够采用先后端分离的部署方式方便开发,功能上:目前具有了服务查询、服务治理以及服务测试三部份内容。咱们能够简单总结为:Dubbo Admin 采用标准的 SpringBoot
和先后端分离的架构设计,同时为咱们提供了:服务治理、服务查询、服务测试等功能。java
在前面《Dubbo 服务治理简介》咱们已经讨论了 Dubbo 服务治理相关话题,那么在咱们的 Dubbo Admin 都提供哪些服务治理能力呢?下面咱们总结了平常工做中常使用的服务治理能力:git
Tips:包括消费者/服务者的服务查询、服务上下线、元数据展现。
Tips:基于Dubbo2.7的元数据,Dubbo Admin 实现了服务测试功能,能够经过泛化调用,在控制台上调用真实的服务提供者。
服务治理github
3.1 条件路由spring
Tips:经过动态的配置相关条件进行过滤符合条件的服务提供者。 能够配置服务和应用两个维度,条件路由为
yaml
格式。
3.2 标签路由docker
Tips:经过给不一样提供者打上标签,相同标签为同一组服务,调用端经过指定标签进行服务分组的选择。配置以应用做为维度,给不一样的服务器打上不一样名字的标签。注意:Dubbo 2.7 引入的新功能。
3.3 黑白名单shell
Tips:条件路由的一部分,规则存储和条件路由放在一块儿,为了方便配置因此单独拿出来,一样能够经过服务和应用两个维度,指定黑名单和白名单。
3.4 动态配置apache
Tips:动态配置是和路由规则平行的另外一类服务治理治理功能,主要做用是在不重启服务的状况下,动态改变调用行为,从Dubbo2.7 版本开始,支持服务和应用两个维度的配置,采用
yaml
格式
3.5 权重调整npm
Tips:经过动态调整服务端的权重改变服务被客户端选中的几率,从而达到流量分配的目的。
3.6 负载均衡编程
Tips:经过动态调整客户端的选址逻辑,目前可选的负载均衡策略有随机,轮训和最小活跃
3.7 服务统计
3.8 服务统计
Tips:统计服务提供方、服务消费方调用方法
qps
和成功率等信息和线程池线程使用状况等信息。
3.9 服务调用关系
Tips:显示咱们的服务调用关系拓扑图。
3.10 配置管理
Tips:经过注解中心或者配置中心来存储全局和应用维度的配置,分别在全局和应用范围内生效,其中应用配置也能够指定该应用中的服务级别的配置,能够在控制台中查看,修改配置规则,默认展现全局维度的配置。注意:Dubbo2.7 新增的功能
下面咱们开始演示 Dubbo Admin 的快速部署。如下介绍三种部署方式:
Docker 部署
docker pull apache/dubbo-admin
docker run -p 8080:8080 apache/dubbo-admin
Tips:这里小伙伴提早安装 Docker 相关环境,同时这里默认使用本地 zookeeper 且默认端口为2181。同时咱们也能够指定外部参数改变默认行为:admin.registry.address
、admin.config-center
、admin.metadata-report.address
。这里镜像最新版本为:0.1.0
官网没有发布最新镜像包,这种方式不推荐使用。
http://localhost:8080
生成环境部署
4.1 clone
代码: git clone https://github.com/apache/dubbo-admin.git
4.2 在 dubbo-admin-server/src/main/resources/application.properties
中指定注册中心地址
admin.registry.address=zookeeper://127.0.0.1:2181
4.3 使用 maven
构建
mvn clean package
4.4 启动应用
mvn --projects dubbo-admin-server spring-boot:run
或者
cd dubbo-admin-distribution/target; java -jar dubbo-admin-0.1.jar
4.5 访问 http://localhost:8080
开发环境部署
5.1 clone
代码: git clone https://github.com/apache/dubbo-admin.git
5.2 Idea
加载源码
运行dubbo-admin-server
项目的Main
方法。因为 dubbo-admin-server
是一个标准的spring boot项目, 能够在任何java IDE中运行它
运行dubbo-admin-ui
。由于dubbo-admin-ui
由 npm
管理和构建,在开发环境中,能够单独运行: npm run dev
5.3 访问 http://localhost:8080
Tips:这里须要咱们安装
npm
相关环境。
当咱们成功部署 Dubbo Admin 后咱们能够看到以下页面:
Tips:登陆后台默认帐户:root
密码:root
。
在本小节中咱们主要学习了 Dubbo 中 Admin 服务治理平台的部署。同时知道了 Dubbo Admin 给咱们服务治理提供了:服务管理、服务治理、服务治理、服务统计、配置管理等相关能力。经过 Dubbo Admin 的服务治理能力咱们能够动态的管理咱们的服务路由策略、负载均衡机制、容错策略、动态配置等能力。
本节课程的重点以下:
我的从事金融行业,就任过易极付、思建科技、某网约车平台等重庆一流技术团队,目前就任于某银行负责统一支付系统建设。自身对金融行业有强烈的爱好。同时也实践大数据、数据存储、自动化集成和部署、分布式微服务、响应式编程、人工智能等领域。同时也热衷于技术分享创立公众号和博客站点对知识体系进行分享。关注公众号: 青年IT男 获取最新技术文章推送!
博客地址: http://youngitman.tech
微信公众号: