Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/piomin/sample-spring-cloud-gateway

sample spring cloud application with embedded api gateway on spring cloud gateway with or without service discovery with eureka
https://github.com/piomin/sample-spring-cloud-gateway

api-gateway eureka eureka-client microservices rate-limiter redis spring-cloud spring-cloud-gateway

Last synced: about 18 hours ago
JSON representation

sample spring cloud application with embedded api gateway on spring cloud gateway with or without service discovery with eureka

Awesome Lists containing this project

README

        

# Spring Cloud Gateway Advanced Demo Project [![Twitter](https://img.shields.io/twitter/follow/piotr_minkowski.svg?style=social&logo=twitter&label=Follow%20Me)](https://twitter.com/piotr_minkowski)

[![CircleCI](https://circleci.com/gh/piomin/sample-spring-cloud-gateway.svg?style=svg)](https://circleci.com/gh/piomin/sample-spring-cloud-gateway)

[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-black.svg)](https://sonarcloud.io/dashboard?id=piomin_sample-spring-cloud-gateway)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=piomin_sample-spring-cloud-gateway&metric=bugs)](https://sonarcloud.io/dashboard?id=piomin_sample-spring-cloud-gateway)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=piomin_sample-spring-cloud-gateway&metric=coverage)](https://sonarcloud.io/dashboard?id=piomin_sample-spring-cloud-gateway)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=piomin_sample-spring-cloud-gateway&metric=ncloc)](https://sonarcloud.io/dashboard?id=piomin_sample-spring-cloud-gateway)


In this project I'm demonstrating you the most interesting features of [Spring Cloud Gateway](https://cloud.spring.io/spring-cloud-gateway/reference/html/)

## Getting Started

Currently you may find here examples of:
1. Redis-based **Request Rate Limiter** - the detailed description may be found in the article on my blog [Rate Limiting In Spring Cloud Gateway With Redis](https://piotrminkowski.com/2019/11/15/rate-limiting-in-spring-cloud-gateway-with-redis/)
2. Circuit Breaker and Fallback with [resilience4j](https://resilience4j.readme.io/docs/getting-started) - the detailed description may be found in the article on my blog
[Circuit Breaking In Spring Cloud Gateway With Resilience4J](https://piotrminkowski.com/2019/12/11/circuit-breaking-in-spring-cloud-gateway-with-resilience4j/)

### Usage
1. To build and run the main application you need to have Maven, JDK11+ and Docker.
2. To build it run command `mvn clean install`
3. During Maven build the JUnit integration tests are running. They are using [Testcontainers](https://www.testcontainers.org/) for mocking downstream service and third-party tools like Redis.

Feel free to propose your examples or suggestions !