DUBBO 详细介绍

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

主要核心部件:

Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.

RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

Registry: 服务目录框架用于服务的注册和服务事件发布和订阅



Dubbo工作原理

Provider

暴露服务方称之为“服务提供者”。

Consumer

调用远程服务方称之为“服务消费者”。

Registry

服务注册与发现的中心目录服务称之为“服务注册中心”。

Monitor

统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。

(1) 连通性:

注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小

监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示

服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销

服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销

注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外

注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者

注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表

注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

(2) 健状性:

监控中心宕掉不影响使用,只是丢失部分采样数据

数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务

注册中心对等集群,任意一台宕掉后,将自动切换到另一台

注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

服务提供者无状态,任意一台宕掉后,不影响使用

服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

(3) 伸缩性:

注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心

服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者

平台简介

Jeesz是一个分布式的框架,提供项目模块化、服务化、热插拔的思想,高度封装安全性的Java EE快速开发平台。

Jeesz本身集成Dubbo服务管控、Zookeeper注册中心、Redis分布式缓存技术、FastDFS分布式文件系统、ActiveMQ异步消息中间件、Nginx负载均衡等分布式技术

使用Maven做项目管理,项目模块化,提高项目的易开发性、扩展性

以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎等。

前端集成Bootstrap4 metronic框架,UI响应式、扁平化布局,适应所有PC、Pad、Anroid、ios 移动设备等。

Jeesz主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件、数据权限组件、数据字典组件、核心工具 组件、视图操作组件、工作流组件、代码生成等。采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。

Jeesz目前包括以下模块项目,后台系统管理系统,RestFul独立服务系统、Scheduler定时调度系统、内容管理(CMS)系统、在线办公(OA)系统、我的待办(Task服务)、我的收藏(Bookmark服务)。

后台管理系统包括企业组织架构(用户管理、机构管理、区域管理)、菜单管理、角色权限管理、字典管理等功能;

RestFul独立提供标准Rest服务API,您可以快速实现自己的业务,提供需要的服务;

Quartz定时调度系统可以动态配置您的任务规则等;

愿意了解框架技术或者源码的朋友直接加求求(企鹅)2042849237

内容管理(CMS)系统,包括内容管理,栏目管理、站点管理、公共留言、文件管理、前端网站展示等功能;

在线办公(OA)系统,主要提供简单的流程实例。

Jeesz提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。另外 还提供一个强大的在线 代码生成 工具,此工具提供简单的单表、一对多、树结构功能的生成,如果对外观要求不是很高,生成的功能就可以用了。使用了Jeesz基础框架,可以提高快速开发效 率。

内置功能(只列了一部分功能)

1.用户管理:用户是系统操作者,该功能主要完成系统用户配置。

2.机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。

3.区域管理:系统城市区域模型,如:国家、省市、地市、区县的维护。

4.菜单管理:配置系统菜单,操作权限,按钮权限标识等。

5.角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

6.字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。

7.操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。

8.连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

9.工作流引擎:实现业务工单流转、在线流程设计器。

开发工具

1.Eclipse IDE:采用Maven项目管理,模块化。

2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果不需要注意美观程度,生成后即可用。

技术选型(只列了一部分技术)

1、后端

服务框架:Dubbo、zookeeper、Rest服务

缓存:Redis、ehcache

消息中间件:ActiveMQ

负载均衡:Nginx

分布式文件:FastDFS

数据库连接池:Alibaba Druid 1.0

核心框架:Spring framework

安全框架:Apache Shiro 1.2

视图框架:Spring MVC 4.0

服务端验证:Hibernate Validator 5.1

布局框架:SiteMesh 2.4

工作流引擎:Activiti 5.15

任务调度:quartz 1.8.5

持久层框架:MyBatis 3.2

日志管理:SLF4J 1.7、Log4j

工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI

2、前端

JS框架:JQuery 1.9。

CSS框架: Bootstrap 4 metronic

客户端验证:JQuery Validation Plugin。

富文本:CKEcitor

文件管理:CKFinder

动态页签:Jerichotab

数据表格:jqGrid

对话框:jQuery jBox

树结构控件:jQuery zTree

其他组件:Bootstrap 4 metronic

3、支持

服务器中间件:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8

数据库支持:目前仅提供mysql数据库的支持,但不限于数据库,下个版本升级多数据源切换和数据库读写分离: 如:Oracle、SqlServer、H2等

支持开发环境:Eclipse、MyEclipse、Ras、Idea等

经典介绍:

源码结构



欢迎大家一起学习研究相关技术

愿意了解框架技术或者源码的朋友可以直接球球交流相关技术:2042849237

更多详细源码参考来源:http://minglisoft.cn/technology

<think>我们正在回答关于Dubbo-Admin的问题。根据历史记录,用户想了解Dubbo-Admin的详细介绍、功能和使用教程。同时,我们有一些关于Dubbo-Admin的引用资料。引用[1]提到:Dubbo-Admin是图形化的服务管理页面,从注册中心获取提供者/消费者进行配置管理,包括路由规则、动态配置、服务降级、访问控制、权重调整、负载均衡等管理功能。并且是一个前后端分离项目(前端Vue,后端SpringBoot)。引用[2]补充了安装环境要求:需要JDK、Maven、NodeJS。引用[3]展示了Dubbo-Admin构建成功的日志,说明构建过程。引用[4]提到Dubbo-Admin作为WAR包部署,是一个强大的管理工具,通过图形界面简化分布式服务管理。引用[5]给出了配置注册中心的示例(配置application.properties文件中的zk地址)。因此,我们的回答应该包括:1.Dubbo-Admin是什么2.主要功能3.安装与部署步骤4.基本使用教程同时,我们需要在回答中自然地标注引用来源。另外,用户之前的问题是关于Dubbo入门案例,现在转向Admin,所以我们不需要重复入门案例的内容,专注于Admin。根据要求,生成相关问题。由于要求使用中文,所有内容用中文。注意:我们不需要重复用户已经看到的引用文本,而是整合成连贯的内容,并在适当位置标注引用。结构建议:###一、Dubbo-Admin简介###二、核心功能###三、安装部署教程####1.环境准备####2.源码编译####3.启动运行###四、使用入门####1.服务查询####2.配置管理示例###五、注意事项###六、相关问题注意:由于我们引用了多个地方,在每一部分末尾标注引用(如[^1])可能不够准确,因此我们选择在关键信息后面标注引用。具体步骤:1.简介部分:根据引用[1]和引用[4],说明Dubbo-Admin的作用和架构。2.功能部分:引用[1]列出了功能,我们详细说明。3.安装部署:结合引用[2][3][5],给出安装步骤和配置修改方法。4.使用入门:展示基本操作(服务查询和配置修改),这部分引用中没有详细步骤,我们可以根据经验简要描述。注意:由于用户可能没有提供具体的Dubbo-Admin版本,我们以当前主流版本(如0.5.0)为例,但引用中出现了0.4.0和0.0.1-SNAPSHOT,所以我们要注意版本差异。但通常安装步骤类似。由于实际安装步骤可能有变化,我们给出通用步骤,并提醒用户参考官方文档。安装步骤大致如下:-克隆代码-修改配置(注册中心地址)-分别构建前后端(或使用最新版本的一键启动)但注意引用[3]中构建命令是`mvncleanpackage`,且显示构建成功。另外,引用[5]提到修改application.properties中的zk地址。在0.3.0版本之后,Dubbo-Admin将配置集中到了后端,因此我们主要修改后端的配置文件。现在,我们开始组织答案。</think> ### Dubbo-Admin 详细介绍与使用指南 #### 一、Dubbo-Admin 核心定位 Dubbo-Admin 是 Apache Dubbo 的官方图形化管理控制台,通过可视化界面简化分布式服务的治理与监控[^1]。它的核心价值在于: 1. **统一运维入口**:集中管理分布式环境中的所有服务节点 2. **实时监控**:可视化展示服务调用关系与性能指标 3. **动态配置**:无需重启即可调整服务参数 4. **降低运维复杂度**:替代命令行操作,降低操作风险[^4] #### 二、核心功能矩阵 | 功能模块 | 实现效果 | 应用场景示例 | |-----------------|------------------------------------------|----------------------------------| | **服务治理** | 实时查看注册服务列表及节点状态[^1] | 快速定位不可用节点 | | **流量管控** | 动态调整服务权重与负载均衡策略[^1] | 灰度发布、AB测试 | | **配置管理** | 在线修改超时时间/重试次数等参数[^4] | 紧急熔断降级 | | **路由规则** | 按条件路由请求到特定节点[^1] | 地域优先调用 | | **服务降级** | 配置Mock规则实现故障隔离[^1] | 核心服务保障 | | **元数据中心** | 查看服务接口定义与参数结构[^5] | 接口调试与文档生成 | #### 三、安装部署教程(基于0.5.0版本) ##### 1. 环境准备 ```bash # 基础依赖 jdk >= 1.8 maven >= 3.6 nodejs >= 14 ``` ##### 2. 源码编译 ```bash git clone https://github.com/apache/dubbo-admin.git cd dubbo-admin # 修改ZK配置(关键步骤) vim dubbo-admin-server/src/main/resources/application.yml # 修改注册中心地址 dubbo: registry: address: zookeeper://127.0.0.1:2181 # [^5] # 构建项目 mvn clean package -DskipTests ``` ##### 3. 启动服务 ```bash # 启动后端(Spring Boot) java -jar dubbo-admin-distribution/target/dubbo-admin-0.5.0.jar # 启动前端(开发模式) cd dubbo-admin-ui npm install npm run dev ``` > 访问地址:http://localhost:8080 (默认账号/密码:root/root)[^3] #### 四、核心功能操作演示 ##### 1. 服务查询 1. 登录后进入【服务治理】>【服务查询】 2. 查看服务提供者/消费者拓扑关系 3. 点击节点查看线程池/队列详情 ##### 2. 动态权重调整 ```mermaid graph TD A[服务列表] --> B{选择目标服务} B --> C[点击权重配置] C --> D[输入新权重值 0-100] D --> E[保存生效] ``` ##### 3. 服务降级配置 1. 进入【服务治理】>【降级规则】 2. 新建规则:`mock=force:return null` 3. 应用范围选择特定服务节点 4. 配置生效后立即屏蔽问题节点流量[^1] #### 五、最佳实践建议 1. **多环境隔离**:通过`admin.config-center`配置不同环境的ZK集群[^5] 2. **权限控制**:修改`admin.credentials.root`配置强化账号安全 3. **监控集成**:对接Prometheus实现历史数据存储 4. **高可用部署**:建议至少部署2个Admin节点实现冗余 #### 六、常见问题排查 1. **页面无法访问**: - 检查`dubbo-admin-server`日志输出 - 确认ZK地址配置正确[^5] 2. **服务列表不显示**: - 验证Provider是否注册成功 - 检查ZK防火墙设置(2181端口开放) 3. **配置不生效**: - 确认Admin与Provider版本兼容 - 查看服务端`com.alibaba.dubbo`日志级别设为DEBUG > 通过访问`http://localhost:8080/api/env`可验证配置生效情况 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值