Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/artembilan/microservices-patterns-spring-integration
Spring Integration implementations for well-known Microservices Patterns
https://github.com/artembilan/microservices-patterns-spring-integration
eip java microservices spring-boot
Last synced: 17 days ago
JSON representation
Spring Integration implementations for well-known Microservices Patterns
- Host: GitHub
- URL: https://github.com/artembilan/microservices-patterns-spring-integration
- Owner: artembilan
- License: apache-2.0
- Created: 2022-12-02T23:58:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-09T14:52:08.000Z (over 1 year ago)
- Last Synced: 2023-06-09T15:30:22.286Z (over 1 year ago)
- Topics: eip, java, microservices, spring-boot
- Language: Java
- Homepage: http://projects.spring.io/spring-integration
- Size: 301 KB
- Stars: 95
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE.txt
Awesome Lists containing this project
README
= Microservices Patterns with Spring Integration
This project serves as a reference implementation of various Microservices Patterns described on https://microservices.io/index.html[Microservice Architecture] with https://spring.io/projects/spring-integration[Spring Integration Framework] and https://spring.io/projects/spring-boot[Spring Boot].
Since Spring Integration is fully based on messaging, which can be distributed, we also include some https://iwringer.wordpress.com/2015/08/03/patterns-for-streaming-realtime-analytics[Event Streaming Patterns] implementations together with https://spring.io/projects/spring-cloud-stream[Spring Cloud Stream Framework].Every single module of this project is fully independent and ready to use Spring Boot application for particular pattern: they are just generated via https://start.spring.io[start.spring.io].
However, the `$springBootVersion` variable might be changes since it is pulled from the `gradle.properties` of the root project.You can run `./gradlew test` (or `build`) for the whole project or just chose specific module to run.
The tests in modules verify the pattern in action and its implementation with Spring Integration.See specific module for more details of the pattern (or recipe) it implements and how:
* link:circuit-breaker[`circuit-breaker`] - circuit breaker pattern implementation
* link:distributed-tracing[`distributed-tracing`] - distributed tracing pattern implementation
* link:framer[`Framer`] - multi-window distribution
* link:mrpc[`mRPC`] - request-reply via Spring Cloud Stream and RPI pattern
* link:normalizer[`Normalizer`] - an EIP Normalizer implementation
* link:outbox[`Outbox`] - transactional outbox pattern implementation