|
1 | 1 | # Microsphere Spring Cloud |
2 | 2 |
|
3 | | -Microsphere Projects for Spring Cloud |
| 3 | +> Microsphere Projects for Spring Cloud |
4 | 4 |
|
| 5 | +[](https://deepwiki.com/microsphere-projects/microsphere-spring-cloud) |
| 6 | +[](https://zread.ai/microsphere-projects/microsphere-spring-cloud) |
5 | 7 | [](https://github.com/microsphere-projects/microsphere-spring-cloud/actions/workflows/maven-build.yml) |
6 | 8 | [](https://app.codecov.io/gh/microsphere-projects/microsphere-spring-cloud) |
7 | 9 |  |
8 | 10 |  |
9 | 11 | [](http://isitmaintained.com/project/microsphere-projects/microsphere-spring-cloud "Average time to resolve an issue") |
10 | 12 | [](http://isitmaintained.com/project/microsphere-projects/microsphere-spring-cloud "Percentage of issues still open") |
11 | 13 |
|
| 14 | +Microsphere Spring Cloud is an extension library for Spring Cloud that enhances and optimizes its capabilities, |
| 15 | +particularly focused on providing dynamic runtime configuration changes without application restarts. It's designed to |
| 16 | +solve common pain points when working with distributed systems in Spring Cloud. |
| 17 | + |
| 18 | +## Purpose and Scope |
| 19 | + |
| 20 | +Microsphere Spring Cloud is a comprehensive extension framework that enhances Spring Cloud applications with advanced |
| 21 | +service registration capabilities, dynamic OpenFeign client configuration, and fault tolerance features. This project |
| 22 | +provides production-ready enhancements to the core Spring Cloud ecosystem, focusing on operational reliability and |
| 23 | +dynamic configuration management. |
| 24 | + |
| 25 | +The framework supports multiple Spring Cloud versions (2022.x, 2023.x, 2024.x and 2025.x) and integrates seamlessly with |
| 26 | +various |
| 27 | +service discovery systems including Nacos, Eureka, Consul, and Zookeeper. For detailed information about specific |
| 28 | +subsystems, see Project Structure, Service Registration System, OpenFeign Auto-Refresh System, and Fault Tolerance. |
| 29 | + |
| 30 | +## Modules |
| 31 | + |
| 32 | +| **Module** | **Purpose** | |
| 33 | +|-------------------------------------------|-------------------------------------------------------------------------------------| |
| 34 | +| **microsphere-spring-cloud-parent** | Defines the parent POM with dependency management and Spring Cloud version profiles | |
| 35 | +| **microsphere-spring-cloud-dependencies** | Centralizes dependency management for all project modules | |
| 36 | +| **microsphere-spring-cloud-commons** | Common utilities for service discovery, registry, and fault tolerance | |
| 37 | +| **microsphere-spring-cloud-openfeign** | Extensions for Spring Cloud OpenFeign with auto-refresh capabilities | |
| 38 | + |
| 39 | +## Getting Started |
| 40 | + |
| 41 | +The easiest way to get started is by adding the Microsphere Spring Cloud BOM (Bill of Materials) to your project's |
| 42 | +pom.xml: |
| 43 | + |
| 44 | +```xml |
| 45 | +<dependencyManagement> |
| 46 | + <dependencies> |
| 47 | + ... |
| 48 | + <!-- Microsphere Spring Cloud Dependencies --> |
| 49 | + <dependency> |
| 50 | + <groupId>io.github.microsphere-projects</groupId> |
| 51 | + <artifactId>microsphere-spring-cloud-dependencies</artifactId> |
| 52 | + <version>${microsphere-spring-cloud.version}</version> |
| 53 | + <type>pom</type> |
| 54 | + <scope>import</scope> |
| 55 | + </dependency> |
| 56 | + ... |
| 57 | + </dependencies> |
| 58 | +</dependencyManagement> |
| 59 | +``` |
| 60 | + |
| 61 | +`${microsphere-spring-boot.version}` has two branches: |
| 62 | + |
| 63 | +| **Branches** | **Purpose** | **Latest Version** | |
| 64 | +|--------------|--------------------------------------------------|--------------------| |
| 65 | +| **0.2.x** | Compatible with Spring Cloud 2022.0.x - 2025.0.x | 0.2.1 | |
| 66 | +| **0.1.x** | Compatible with Spring Cloud Hoxton - 2021.0.x | 0.1.1 | |
| 67 | + |
| 68 | +Then add the specific modules you need: |
| 69 | + |
| 70 | +```xml |
| 71 | +<dependencies> |
| 72 | + <!-- Microsphere Spring Cloud Commons --> |
| 73 | + <dependency> |
| 74 | + <groupId>io.github.microsphere-projects</groupId> |
| 75 | + <artifactId>microsphere-spring-cloud-commons</artifactId> |
| 76 | + </dependency> |
| 77 | + |
| 78 | + <!-- Microsphere Spring Cloud OpenFeign --> |
| 79 | + <dependency> |
| 80 | + <groupId>io.github.microsphere-projects</groupId> |
| 81 | + <artifactId>microsphere-spring-cloud-openfeign</artifactId> |
| 82 | + </dependency> |
| 83 | +</dependencies> |
| 84 | +``` |
| 85 | + |
| 86 | +## Building from Source |
| 87 | + |
| 88 | +You don't need to build from source unless you want to try out the latest code or contribute to the project. |
| 89 | + |
| 90 | +To build the project, follow these steps: |
| 91 | + |
| 92 | +1. Clone the repository: |
| 93 | + |
| 94 | +```bash |
| 95 | +git clone https://github.com/microsphere-projects/microsphere-spring-cloud.git |
| 96 | +``` |
| 97 | + |
| 98 | +2. Build the source: |
| 99 | + |
| 100 | +- Linux/MacOS: |
| 101 | + |
| 102 | +```bash |
| 103 | +./mvnw package |
| 104 | +``` |
| 105 | + |
| 106 | +- Windows: |
| 107 | + |
| 108 | +```powershell |
| 109 | +mvnw.cmd package |
| 110 | +``` |
| 111 | + |
| 112 | +## Contributing |
| 113 | + |
| 114 | +We welcome your contributions! Please read [Code of Conduct](./CODE_OF_CONDUCT.md) before submitting a pull request. |
| 115 | + |
| 116 | +## Reporting Issues |
| 117 | + |
| 118 | +* Before you log a bug, please search |
| 119 | + the [issues](https://github.com/microsphere-projects/microsphere-spring-cloud/issues) |
| 120 | + to see if someone has already reported the problem. |
| 121 | +* If the issue doesn't already |
| 122 | + exist, [create a new issue](https://github.com/microsphere-projects/microsphere-spring-cloud/issues/new). |
| 123 | +* Please provide as much information as possible with the issue report. |
| 124 | + |
| 125 | +## Documentation |
| 126 | + |
| 127 | +### User Guide |
| 128 | + |
| 129 | +[DeepWiki Host](https://deepwiki.com/microsphere-projects/microsphere-spring-cloud) |
| 130 | + |
| 131 | +[ZRead Host](https://zread.ai/microsphere-projects/microsphere-spring-cloud) |
| 132 | + |
| 133 | +### Wiki |
| 134 | + |
| 135 | +[Github Host](https://github.com/microsphere-projects/microsphere-spring-cloud/wiki) |
| 136 | + |
| 137 | +### JavaDoc |
| 138 | + |
| 139 | +- [microsphere-spring-cloud-commons](https://javadoc.io/doc/io.github.microsphere-projects/microsphere-spring-cloud-commons) |
| 140 | +- [microsphere-spring-cloud-openfeign](https://javadoc.io/doc/io.github.microsphere-projects/microsphere-spring-cloud-openfeign) |
| 141 | + |
| 142 | +## License |
| 143 | + |
| 144 | +The Microsphere Spring is released under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). |
0 commit comments