eden-architect
![]()
A One-Stop Solution for Enterprise Distributed Applications
简体中文 | English
📖 Introduction
Eden* Architect is dedicated to providing a comprehensive solution for enterprise-level development. It encapsulates the essential components for building distributed application services. By simply adding a few annotations and minimal configuration, you can integrate Spring Boot applications into a microservices ecosystem and rapidly build distributed systems using our robust middleware capabilities.
✨ Key Features
- 📦 Unified Dependency Management: Centralized management of dependency versions to resolve conflicts and encapsulated common plugins to save build time.
- 🛠️ Component Integration: Extensions based on official Spring, integrating components like
XxlJob,CAT,Netty,Arthas, and more. - 🔌 Flexible Extension Points: High-level abstractions for mainstream technologies, allowing dynamic adaptation of
Message Queues,Caching,SMS,Email,Excel, etc. - 💡 Enterprise Solutions: Out-of-the-box solutions for
Multi-level Caching,Distributed Locks,Unique IDs,Idempotency,Auditing,Eventual Consistency, andFull-link Tracing.
🏗️ Architecture
Component Overview
| Component | Description |
|---|---|
| eden-dependencies | Manages global dependency versions. |
| eden-parent | Build management, encapsulates common plugins, provides out-of-the-box configuration. |
| eden-commons | Basic utility component, extending Apache Commons and Google Guava. |
| eden-extensions | Lightweight extension point component, inspired by Dubbo SPI. |
| eden-cola | Optimized COLA component with improved DDD models, state machines, and business extensions. |
| eden-solutions | Solution toolkit for Caching, Locks, Deduplication, Auditing, etc. |
| eden-spring-framework | Base framework supporting custom error codes and exception resolvers. |
| eden-spring-data | Data storage extensions for Mybatis, Redis, Flyway, Liquibase. |
| eden-spring-security | Auth extensions for OAuth2, Jwt, Shiro. |
| eden-spring-integration | Integration with RocketMQ, Kafka, Netty, XxlJob. |
| eden-spring-cloud | Cloud extensions for Nacos, Sentinel, Zookeeper. |
🚀 Getting Started
Prerequisites
Since Spring Boot 2.4.x and 3.0.x vary significantly, we maintain matching branches:
- Branch 2.4.x: For
Spring Boot 2.4.x(Min JDK 1.8) - Branch 2.7.x: For
Spring Boot 2.7.x(Min JDK 11) - Branch 3.0.x: For
Spring Boot 3.0.x(Min JDK 17)
Installation
Clone the repository and install it to your local Maven repository:
git clone https://github.com/shiyindaxiaojie/eden-architect.git
cd eden-architect
./mvnw install -T 4C
Usage
Add Parent POM: Reference
eden-parentin your project'spom.xml.<parent> <groupId>io.github.shiyindaxiaojie</groupId> <artifactId>eden-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath/> </parent>Add Dependencies: Select the starters you need (e.g., for CAT integration).
<dependencies> <dependency> <groupId>io.github.shiyindaxiaojie</groupId> <artifactId>eden-cat-spring-boot-starter</artifactId> </dependency> </dependencies>> Note: Version numbers are managed by
eden-parent.Configuration: Enable features in
application.yml.cat: enabled: true # Enable CAT trace-mode: true servers: localhostRun: Start your application. Tracing and other features will be active automatically.

🧩 Demos
We provide sample projects demonstrating different architectural styles:
- eden-demo-cola: Domain-Driven Design (COLA) architecture.
- eden-demo-layer: Traditional Layered architecture.
- eden-demo-mvc: Simple MVC architecture for single-node apps.
📅 Versioning
We follow Semantic Versioning x.y.z:
- x: Major version (0 for incubation).
- y: Minor version.
- z: Patch version.
📝 Changelog
Please see CHANGELOG.md for details.
📄 License
This project is licensed under the Apache-2.0 License.
