# usher-dependencies
**Repository Path**: opentech_usher/usher-dependencies
## Basic Information
- **Project Name**: usher-dependencies
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-22
- **Last Updated**: 2026-02-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Usher Framework Dependencies
# Usher框架依赖管理
[](https://www.apache.org/licenses/LICENSE-2.0)
[](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)
[](https://spring.io/projects/spring-boot)
[](https://maven.apache.org/)
Usher Framework Dependencies is the core dependency management platform of the Usher microservice ecosystem, similar to Spring Boot Dependencies' role in the Spring ecosystem. It provides unified version control, dependency management, and upgrade strategies for the entire Usher technology stack.
Usher框架依赖管理是Usher微服务生态系统的核心依赖管理平台,类似于Spring Boot Dependencies在Spring生态中的地位。它为整个Usher技术栈提供统一的版本控制、依赖管理和升级策略。
## Table of Contents / 目录
- [Project Positioning / 项目定位](#project-positioning--项目定位)
- [Core Value / 核心价值](#core-value--核心价值)
- [Technical Architecture / 技术架构](#technical-architecture--技术架构)
- [Module System / 模块体系](#module-system--模块体系)
- [Quick Start / 快速使用](#quick-start--快速使用)
- [Version Management / 版本管理](#version-management--版本管理)
- [Development Standards / 开发规范](#development-standards--开发规范)
- [Contribution Guidelines / 贡献指南](#contribution-guidelines--贡献指南)
## Project Positioning / 项目定位
Usher Dependencies serves as the "central controller" of the entire Usher technology ecosystem, undertaking the same important responsibilities as Spring Boot Dependencies:
Usher Dependencies 作为整个Usher技术生态的"中央控制器",承担着与Spring Boot Dependencies相同的重要职责:
### Core Mission / 核心使命
- **Unified Version Control**: Centralized management of all Usher component version numbers
- **Dependency Coordination**: Resolving version conflicts between modules
- **Upgrade Orchestration**: Formulating overall technology stack upgrade roadmap
- **Compatibility Assurance**: Ensuring backward compatibility between versions
- **统一版本管控**:集中管理所有Usher组件的版本号
- **依赖协调**:解决模块间版本冲突问题
- **升级统筹**:制定整体技术栈升级路线图
- **兼容保障**:确保各版本间的向后兼容性
### Design Philosophy / 设计理念
```
┌─────────────────────────────────────────────┐
│ Usher Dependencies (BOM) │
│ ┌─────────┬─────────┬─────────┬─────────┐ │
│ │ v2.1.2 │ v2.1.2 │ v2.1.2 │ v2.1.2 │ │
│ │ Commons │ RPC │ Stream │ Groovy │ │
│ └─────────┴─────────┴─────────┴─────────┘ │
└─────────────────────────────────────────────┘
```
## Core Value / 核心价值
### 🔁 Unified Version Management / 统一版本管理
- Avoid "version hell" problems
- One-click synchronization of all component versions
- Automated conflict detection
- 避免"版本地狱"问题
- 一键同步所有组件版本
- 自动化解冲突检测
### 📦 Dependency Simplification / 依赖简化
```xml
top.uhyils.usher
usher-dependencies
2.1.2.3.usher-SNAPSHOT
```
### 🚀 Upgrade Convenience / 升级便利
- **Parent-level Unified Control**: One modification affects globally
- **Submodule Linkage**: Automatic inheritance of latest stable versions
- **Compatibility Assurance**: Built-in version conflict detection mechanism
- **父级统一管控**:一处修改,全局生效
- **子模块联动**:自动继承最新稳定版本
- **兼容性保障**:内置版本冲突检测机制
## Technical Architecture / 技术架构
### Five-dimensional Architecture System / 五维架构体系
```
Usher Dependencies
├── 📦 usher-common (Foundation Support Layer / 基础支撑层)
├── 🔗 usher-protofuse (Protocol Adaptation Layer / 协议适配层)
├── 🌐 usher-rpc (Communication Transport Layer / 通信传输层)
├── 🚀 usher-groovy-flex (Dynamic Extension Layer / 动态扩展层)
└── 📊 usher-stream (Stream Processing Engine / 流处理引擎)
Horizontal Support:
├── Spring Ecosystem (2.6.1)
├── Data Access Layer
├── Service Governance
└── Infrastructure Components
```
### Core Technology Stack / 核心技术栈
| Category / 类别 | Technology Component / 技术组件 | Version / 版本 | Scope / 作用域 |
|------|----------|------|--------|
| Core Framework / 核心框架 | Spring Boot | 2.6.1 | import |
| Microservices / 微服务 | Spring Cloud | 2.1.1.RELEASE | managed |
| Data Access / 数据访问 | MyBatis/Plus | 3.5.6/3.4.3.3 | managed |
| Cache Storage / 缓存存储 | Redis/Elasticsearch | latest | managed |
| Messaging Middleware / 消息中间件 | RocketMQ/Nacos | 5.3.1/2.4.3 | managed |
| Network Communication / 网络通信 | Netty | 4.1.54.Final | managed |
## Module System / 模块体系
### Ecosystem Architecture Diagram / 生态架构图
```
┌─────────────────────┐
│ usher-dependencies │ ← Current Project / 当前项目
│ (Version Controller / 版本控制器) │
└─────────┬───────────┘
│
┌─────────┬───────────┼───────────┬─────────┐
│ │ │ │ │
┌───────▼────┐ ┌──▼──┐ ┌───▼────┐ ┌───▼───┐ ┌─▼────────┐
│usher-common│ │proto-│ │ usher- │ │groovy-│ │ usher- │
│ (Foundation│ │fuse │ │ rpc │ │ flex │ │ stream │
│ Components)│ │ │ │ │ │ │ │ │
└───────┬────┘ └──┬──┘ └───┬────┘ └───┬───┘ └──────────┘
│ │ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ Sub- │ │ Sub- │ │ Sub- │ │ Sub- │
│ modules│ │ modules│ │ modules│ │ modules│
└───────┘ └───────┘ └───────┘ └───────┘
```
### Detailed Module Structure / 模块详细结构
#### 📦 usher-common (Foundation Component Module / 基础组件模块)
```
usher-common/
├── usher-common-base/ # Basic utility classes and common components / 基础工具类和通用组件
├── usher-common-base-spring/ # Spring integration foundation components / Spring集成基础组件
├── usher-common-core/ # Core business components / 核心业务组件
├── usher-common-data-*/ # Data access layer (es, redis, mongo) / 数据访问层
├── usher-common-event-bus/ # Event bus mechanism / 事件总线机制
├── usher-common-framework-base/# Framework foundation components / 框架基础组件
├── usher-common-log/ # Unified logging system / 统一日志系统
├── usher-common-mq/ # Message queue abstraction / 消息队列抽象
├── usher-common-util-*/ # Various utility components / 各种工具组件
└── usher-common-protocol-mysql/# MySQL protocol processing / MySQL协议处理
```
#### 🔗 usher-protofuse (Protocol Fusion Module / 协议融合模块)
```
usher-protofuse/
├── usher-protofuse-call-node/ # Protocol call nodes / 协议调用节点
├── usher-protofuse-common/ # Protocol common components / 协议公共组件
├── usher-protofuse-plan/ # Protocol execution plans / 协议执行计划
├── usher-protofuse-protocol/ # Protocol processing core / 协议处理核心
└── usher-protofuse-protocol-*/ # Specific protocol implementations / 具体协议实现
```
#### 🌐 usher-rpc (RPC Communication Module / RPC通信模块)
```
usher-rpc/
├── usher-rpc-cluster/ # Cluster management / 集群管理
├── usher-rpc-common/ # RPC common components / RPC公共组件
├── usher-rpc-exchange/ # Data exchange layer / 数据交换层
├── usher-rpc-netty/ # Netty communication implementation / Netty通信实现
├── usher-rpc-proxy/ # Dynamic proxy layer / 动态代理层
├── usher-rpc-registry/ # Service registration and discovery / 服务注册发现
└── usher-rpc-spring-start/ # Spring Boot starter / Spring Boot启动器
```
#### 🚀 usher-groovy-flex (Dynamic Script Module / 动态脚本模块)
```
usher-groovy-flex/
├── usher-groovy-flex-core/ # Groovy script core engine / Groovy脚本核心引擎
└── usher-groovy-flex-boot-starter/ # Spring Boot auto-configuration / Spring Boot自动配置
```
#### 📊 usher-stream (Stream Processing Module / 流处理模块)
```
usher-stream/ # Independent real-time stream processing engine / 独立的实时流处理引擎
├── Core stream processing components / 核心流处理组件
├── Data pipeline management / 数据管道管理
└── Real-time computing capabilities / 实时计算能力
```
## Quick Start / 快速使用
### 1. Project Integration / 项目集成
```xml
top.uhyils.usher
usher-dependencies
2.1.2.3.usher-SNAPSHOT
your-service
top.uhyils.usher
usher-common-base
top.uhyils.usher
usher-rpc-spring-start
```
### 2. Version Upgrade / 版本升级
```xml
top.uhyils.usher
usher-dependencies
2.2.0.usher-RELEASE
top.uhyils.usher
usher-common-base
```
### 3. Dependency Analysis / 依赖查看
```bash
# View complete dependency tree
# 查看完整的依赖树
mvn dependency:tree
# Analyze version conflicts
# 分析版本冲突
mvn dependency:analyze-duplicate
# Generate dependency report
# 生成依赖报告
mvn dependency:list -DoutputFile=dependencies.txt
```
## Version Management / 版本管理
### Version Naming Convention / 版本命名规范
```
Major.Minor.Patch.Framework-Identifier-Status-Identifier
↓ ↓ ↓ ↓ ↓
2 . 1 . 2 . 3 . usher - SNAPSHOT
│ │ │ │ │ │
│ │ │ │ │ └─ Development Status / 开发状态
│ │ │ │ └─ Framework Identifier / 框架标识
│ │ │ └─ Patch Number / 修订号
│ │ └─ Minor Version / 次版本号
│ └─ Major Version / 主版本号
└─ Compatibility Level / 兼容性级别
```
### Upgrade Strategy / 升级策略
- **PATCH Version** (x.x.+1): Bug fixes, fully compatible
- **MINOR Version** (x.+1.x): New feature additions, backward compatible
- **MAJOR Version** (+1.x.x): Major refactoring, potentially incompatible
- **PATCH版本** (x.x.+1):Bug修复,完全兼容
- **MINOR版本** (x.+1.x):新功能添加,向后兼容
- **MAJOR版本** (+1.x.x):重大重构,可能不兼容
### Upgrade Verification Mechanism / 升级验证机制
```bash
# Pre-upgrade verification
# 升级前验证
mvn dependency:tree -Dverbose=true
mvn dependency:analyze-duplicate
# Compatibility check
# 兼容性检查
mvn enforcer:enforce -Drules=dependencyConvergence
```
## Development Standards / 开发规范
### Module Development Process / 模块开发流程
1. **Version Planning** → Determine compatibility requirements
2. **Dependency Declaration** → Register version in BOM
3. **Interface Design** → Follow backward compatibility principles
4. **Testing Validation** → Ensure smooth upgrade
1. **版本规划** → 确定兼容性要求
2. **依赖声明** → 在BOM中注册版本
3. **接口设计** → 遵循向后兼容原则
4. **测试验证** → 确保升级平滑性
### Configuration Best Practices / 配置最佳实践
```xml
top.uhyils.usher
usher-dependencies
${project.version}
your-module
top.uhyils.usher
usher-common-core
compile
```
## Contribution Guidelines / 贡献指南
### Participation Methods / 参与方式
1. **Version Proposals**: Propose version upgrade suggestions
2. **Compatibility Testing**: Verify upgrade impact scope
3. **Documentation Improvement**: Update version documentation
4. **Tool Development**: Build version management tools
1. **版本提案**:提出版本升级建议
2. **兼容性测试**:验证升级影响范围
3. **文档完善**:更新版本说明文档
4. **工具开发**:构建版本管理工具
### Quality Requirements / 质量要求
- All changes must undergo compatibility assessment
- Provide complete upgrade migration guides
- Ensure backward compatibility of no less than 99%
- Maintain detailed change logs
- 所有变更必须经过兼容性评估
- 提供完整的升级迁移指南
- 确保向后兼容性不低于99%
- 维护详细的变更日志
## License / 许可证
Apache License 2.0
---
Usher Framework Dependencies
Usher框架依赖管理
Enterprise-level microservice ecosystem unified dependency management platform
企业级微服务生态系统的统一依赖管理平台