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, and Full-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-parent in your project’s pom.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: localhost
-
Run:
Start your application. Tracing and other features will be active automatically.
🧩 Demos
We provide sample projects demonstrating different architectural styles:
📅 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.
评论