Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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