Welcome to the Microservices-with-Spring-Boot-and-Spring-Cloud repository! This repository contains a collection of microservices built using Spring Boot and Spring Cloud, along with various related topics and tools.
- SpringBoot RestAPI
- Spring Data JPA
- Limits Service
- Currency Exchange and Currency Conversion Microservices
- Feign Rest Client
- Circuit Breaker and Resilience
- Spring Cloud Config Server
- Load Balancing with Eureka, Feign & Spring Cloud LoadBalancer
- Spring Cloud API Gateway
- Discovery Locator with Eureka for Spring Cloud Gateway
- Routes with Spring Cloud Gateway
- Implementing Spring Cloud Gateway Logging Filter
- Resilience4j - Retry and Fallback Methods
- Rate Limiting and Bulkhead Features of Resilience4j
- Docker Concepts - Registry, Repository, Tag, Image, and Containers
- Launching Zipkin Container using Docker
- Observability and OpenTelemetry
- Connecting Microservices & API Gateway with Zipkin
- Container Images for Microservices
- Running Eureka, Microservices, API Gateway, and Zipkin with Docker Compose
- Kubernetes Cluster with Google Kubernetes Engine (GKE)
- Kubernetes Concepts - Pods, Replica Sets & Deployments
- GCloud
- Kubectl
- Nodes
- Pods
- Config Maps and Declarative Configuration in Kubernetes
- Logging and Tracing in Google Cloud Platform
- Deploying Microservices using Kubernetes YAML Configuration
- Environment Variables for Microservice Communication
- Centralized Logging and Monitoring in GKE
- Liveness and Readiness Probes for Microservices with Kubernetes
- Autoscaling Microservices with Kubernetes
This section focuses on developing RESTful APIs using Spring Boot.
Learn how to use Spring Data JPA for database interactions in Spring Boot applications.
Understand how to implement a Limits Service using Spring Boot.
Implement currency exchange and currency conversion microservices using Spring Boot. The currency conversion microservice will utilize the currency exchange microservice.
Explore Feign, a declarative web service client developed by Netflix.
Learn about implementing circuit breaker and resilience patterns in microservices using Spring Cloud.
Setup and configure a Spring Cloud Config Server for centralized configuration management.
Implement load balancing in microservices using Eureka, Feign, and Spring Cloud LoadBalancer.
Learn to build an API Gateway using Spring Cloud.
Configure service discovery with Eureka for Spring Cloud Gateway.
Define and manage routes in Spring Cloud Gateway.
Implement logging filters in Spring Cloud Gateway for request and response logging.
Utilize Resilience4j for implementing retry and fallback methods in microservices.
Explore rate limiting and bulkhead features provided by Resilience4j.
Understand Docker concepts such as registry, repository, tag, image, and containers.
Learn how to launch a Zipkin container for distributed tracing using Docker.
Explore observability and OpenTelemetry for monitoring microservices.
Connect microservices and API Gateway with Zipkin for distributed tracing.
Build container images for microservices using Docker.
Run Eureka, microservices, API Gateway, and Zipkin together using Docker Compose.
Set up a Kubernetes cluster using Google Kubernetes Engine (GKE).
Understand Kubernetes concepts such as pods, replica sets, and deployments.
Learn to use GCloud, Google Cloud's command-line interface.
Master Kubectl, the Kubernetes command-line interface.
Explore Kubernetes nodes and their role in a cluster.
Understand Kubernetes pods and their significance in container orchestration.
Use Config Maps for declarative configuration in Kubernetes.
Set up logging and tracing in the Google Cloud Platform.
Deploy microservices using Kubernetes YAML configuration.
Utilize environment variables for microservice communication in Kubernetes.
Implement centralized logging and monitoring in Google Kubernetes Engine (GKE).
Configure liveness and readiness probes for microservices with Kubernetes.
Enable autoscaling for microservices using Kubernetes.
Feel free to update this README with more details as you progress with your project. Happy coding!