# easy-esb **Repository Path**: MagicJson/easy-esb ## Basic Information - **Project Name**: easy-esb - **Description**: easy-esb 是一款轻量级的企业服务总线(ESB)开发框架,旨在通过 Spring AOP 和注解驱动的方式,简化微服务架构下的服务集成与治理。它通过统一的拦截处理机制实现了对服务调用的标准化管理(如协议转换、安全控制、监控等),并具备良好的可扩展性,支持多种主流通信协议和自定义扩展。核心目标是提升服务集成效率,降低维护成本,并增强系统的可观测性和可控性 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-30 - **Last Updated**: 2025-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Easy-ESB Easy-ESB是一个轻量级的企业服务总线(Enterprise Service Bus)实现,基于Spring Boot构建,旨在提供高效、灵活且易于扩展的服务集成解决方案。 ## 项目概述 Easy-ESB通过模块化设计,提供了一系列功能独立的启动器(starter),允许用户根据实际需求选择性引入所需功能。核心功能包括: - **协议适配**:支持HTTP/REST、SOAP等多种协议 - **服务治理**:服务注册发现、动态路由、负载均衡 - **容错机制**:熔断降级、限流控制 - **消息处理**:异步消息队列、可靠消息传递 - **安全控制**:认证授权、数据加密 - **监控告警**:性能监控、健康检查、异常告警 ## 项目结构 项目采用Maven多模块结构,主要包括: ``` easy-esb/ ├── pom.xml # 父POM文件 ├── easy-esb-dependencies/ # 依赖管理模块 ├── easy-esb-core-starter/ # 核心模块 ├── easy-esb-discovery-starter/ # 服务发现模块 ├── easy-esb-feign-starter/ # Feign客户端模块 ├── easy-esb-log-starter/ # 日志处理模块 ├── easy-esb-sentinel-starter/ # 流量控制模块 ├── easy-esb-mq-starter/ # 消息中间件模块 ├── easy-esb-security-starter/ # 安全模块 ├── easy-esb-monitor-starter/ # 监控模块 └── easy-esb-starters/ # 可选模块集合 ``` ## 快速开始 ### 前提条件 - JDK 17+ - Maven 3.6+ - Spring Boot 3.x ### 安装依赖 ```xml xyz.magicjson easy-esb-core-starter ${easy-esb.version} ``` ### 简单示例 ```java import xyz.magicjson.easyesb.core.annotation.ESBEndpoint; @Service public class UserService { @ESBEndpoint(protocol = "http", path = "/users/{id}") public User getUserById(@PathVariable("id") Long id) { // 业务逻辑 return userRepository.findById(id); } } ``` ## 开发计划 项目分为6个主要阶段开发: 1. **核心基础模块开发**:核心架构设计、easy-esb-core-starter实现、协议适配器开发 2. **服务治理与集成**:服务注册发现、动态路由、Feign客户端集成 3. **容错与可靠性增强**:Sentinel集成、消息中间件集成、消息可靠性保障 4. **安全与性能优化**:安全控制、性能优化 5. **监控与告警系统**:监控工具集成、告警规则配置 6. **测试与文档**:单元和集成测试、文档编写 详细开发计划见 [docs/development_plan.md](docs/development_plan.md)。 ## 开发进度 查看当前开发进度和任务状态,请参考 [task/README.md](task/README.md)。 ## 技术栈 - **核心框架**:Spring Boot 3.x - **服务发现**:Spring Cloud Netflix Eureka / Consul - **客户端负载均衡**:Spring Cloud LoadBalancer - **声明式HTTP客户端**:Spring Cloud OpenFeign - **熔断与限流**:Sentinel - **网关**:Spring Cloud Gateway - **消息中间件**:Kafka / RabbitMQ - **安全框架**:Spring Security、OAuth2.0 - **监控工具**:Prometheus、Grafana - **告警系统**:Alertmanager ## 贡献指南 我们欢迎各种形式的贡献,包括但不限于: - 代码贡献 - 文档改进 - Bug报告 - 功能建议 在提交贡献前,请先阅读我们的[贡献指南](CONTRIBUTING.md)。 ## 许可证 本项目基于 [Apache License 2.0](LICENSE) 开源协议发布。