https://github.com/quickheaven/microservices-with-spring-cloud
A deep-dive into the Microservice architectural style, and how to implement it with Spring technologies. (September 2024)
https://github.com/quickheaven/microservices-with-spring-cloud
java spring spring-boot spring-cloud spring-cloud-bus spring-cloud-circuit-breaker spring-cloud-feign spring-cloud-gateway spring-data spring-data-jpa spring-data-rest spring-eureka spring-eureka-client spring-eureka-server
Last synced: 2 months ago
JSON representation
A deep-dive into the Microservice architectural style, and how to implement it with Spring technologies. (September 2024)
- Host: GitHub
- URL: https://github.com/quickheaven/microservices-with-spring-cloud
- Owner: quickheaven
- License: mit
- Created: 2024-10-14T13:18:34.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-24T23:49:12.000Z (6 months ago)
- Last Synced: 2025-02-13T06:33:16.567Z (4 months ago)
- Topics: java, spring, spring-boot, spring-cloud, spring-cloud-bus, spring-cloud-circuit-breaker, spring-cloud-feign, spring-cloud-gateway, spring-data, spring-data-jpa, spring-data-rest, spring-eureka, spring-eureka-client, spring-eureka-server
- Language: Java
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Microservices with Spring Cloud
A deep-dive into the Microservice architectural style, and how to implement it with Spring technologies. \
_(Updated version of https://github.com/quickheaven/Microservices-With-Spring)_## What are Microservices
**Best describe as:**
* An architectural style
* An alternative to more traditional 'monolithic' applications
* Decomposition of single system into a suite of small services, each running as independent processes and intercommunicating via open protocols.
* Fine Grained SOA - Adrian Cockroft (Netflix)## Spring Boot
Spring boot is all about getting a Java Spring application up and running very quickly.**Running Spring Boot:**
* Spring Application
- Created Spring Application Context
* Created Spring Application Context @SpringBootApplication
- Combination of @Configuration (Java equivalent of file
- ... And @ComponentScan (Looks for @Components)
- ... And @EnableAutoConfiguration (Examines ApplicationContext & classpath; Creates missing beans based on intelligent defaults)## Spring Cloud
The goal is to address the needs of cloud based applications.
Spring Cloud is a sub-project within Spring IO Umbrella. And is itself an umbrella project.
Spring Cloud addresses common patterns in distributed computing.
Spring Cloud is based on Spring Boot.### Spring and NETFLIX since 2017
Eureka -> Eureka \
Archaius -> Spring Cloud Config \
Ribbon -> Spring Cloud Load Balancer \
Zuul -> Spring Cloud Gateway \
Hystrix -> Resilience4J / Spring Cloud Circuit Breaker \
Hystrix Dashboard -> Micrometer \
Turbine -> Micrometer### DevTools
Optional dependency.
Automatically restarts applications aftermost code changes.
```org.springframework.boot
spring-boot-devtools
true```
### Spring Cloud Configuration
(Centralized Version Configuration)
Provides centralized, externalized, secured, easy-to-reach source of application configuration.### Spring Cloud Bus
Provides simple way to notify clients to config changes### Spring Cloud Netflix Eureka
Service Discovery - Allows applications to register themselves as clients