Appache Dubbo是一款高性能、轻量级的开源Java RPC分布式服务框架,它提供了三大核心能力:
- 面向接口的远程方法调用,即可以使用@Resource注解可以调用远程的Service,就像调用本地方法一样调用远程方法;
- 智能容错和负载均衡;
- 服务的自动注册与发现,dubbo注册中心调用zookeeper实现。
Dubbo底层通信通过对NIO框架Netty进行封装。
dubbo中组件角色:
- Provider,提供服务的服务提供方
- Consumer,调用远程服务的服务消费方
- Registry:服务注册与发现的注册中心
- Monitor:统计服务的调用次数和调用时间的监控中心
- Container:服务运行容器
dubbo管理控制台的下载地址:github。官方给出了两种运行方式,这里采用前后端分离的运行方式,另一种方式笔者尝试过发现无法成功。
1.运行后端项目
利用idea打开后端项目dubbo-admin-server
,可以看到这是一个Springboot项目。
因为我们需要利用zookeeper进行服务的注册与发现,所以将图中的admin.registry.address
、admin.config-center
、admin.metadata-report.address
的IP地址设置为Zookeeper服务器的地址。
接着,运行Springboot项目,可以看到服务在8080端口开启。
2.运行前端项目
打开前端项目dubbo-admin-ui
,可以看到这是一个NodeJS项目。
在当前路径下执行npm install
安装所需要的依赖
接着,在.eslintrc.js 的rules中添加如下代码,关闭缩进检查和规则校检。
'space-before-function-paren': 0,
'indent': off
最后,执行npm run dev
运行该项目。
访问上述地址,这里默认的登录名和密码均为root。
管理界面如下,不得不说,这个后台模板还是很不错的,有学习借鉴的价值。