Microsphere Projects for Spring Cloud
Microsphere Spring Cloud is an extension library for Spring Cloud that enhances and optimizes its capabilities, particularly focused on providing dynamic runtime configuration changes without application restarts. It's designed to solve common pain points when working with distributed systems in Spring Cloud.
Microsphere Spring Cloud is a comprehensive extension framework that enhances Spring Cloud applications with advanced service registration capabilities, dynamic OpenFeign client configuration, and fault tolerance features. This project provides production-ready enhancements to the core Spring Cloud ecosystem, focusing on operational reliability and dynamic configuration management.
The framework supports multiple Spring Cloud versions (2022.x, 2023.x, 2024.x and 2025.x) and integrates seamlessly with various service discovery systems including Nacos, Eureka, Consul, and Zookeeper. For detailed information about specific subsystems, see Project Structure, Service Registration System, OpenFeign Auto-Refresh System, and Fault Tolerance.
| Module | Purpose |
|---|---|
| microsphere-spring-cloud-parent | Defines the parent POM with dependency management and Spring Cloud version profiles |
| microsphere-spring-cloud-dependencies | Centralizes dependency management for all project modules |
| microsphere-spring-cloud-commons | Common utilities for service discovery, registry, and fault tolerance |
| microsphere-spring-cloud-openfeign | Extensions for Spring Cloud OpenFeign with auto-refresh capabilities |
The easiest way to get started is by adding the Microsphere Spring Cloud BOM (Bill of Materials) to your project's pom.xml:
<dependencyManagement>
<dependencies>
...
<!-- Microsphere Spring Cloud Dependencies -->
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-spring-cloud-dependencies</artifactId>
<version>${microsphere-spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencies>
</dependencyManagement>${microsphere-spring-boot.version} has two branches:
| Branches | Purpose | Latest Version |
|---|---|---|
| 0.2.x | Compatible with Spring Cloud 2022.0.x - 2025.0.x | 0.2.1 |
| 0.1.x | Compatible with Spring Cloud Hoxton - 2021.0.x | 0.1.1 |
Then add the specific modules you need:
<dependencies>
<!-- Microsphere Spring Cloud Commons -->
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-spring-cloud-commons</artifactId>
</dependency>
<!-- Microsphere Spring Cloud OpenFeign -->
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-spring-cloud-openfeign</artifactId>
</dependency>
</dependencies>You don't need to build from source unless you want to try out the latest code or contribute to the project.
To build the project, follow these steps:
- Clone the repository:
git clone https://github.com/microsphere-projects/microsphere-spring-cloud.git- Build the source:
- Linux/MacOS:
./mvnw package- Windows:
mvnw.cmd packageWe welcome your contributions! Please read Code of Conduct before submitting a pull request.
- Before you log a bug, please search the issues to see if someone has already reported the problem.
- If the issue doesn't already exist, create a new issue.
- Please provide as much information as possible with the issue report.
The Microsphere Spring is released under the Apache License 2.0.