🐥
The Tech Toolbox
Visit My Website!LinkedIn Profile
  • ✍️Introduction
  • ✍️Laptop Setup Guide
  • ✍️Quotes
  • Interview Preparation
    • 🔥Topics To Cover
    • 🔥System Design
    • 🔥Google Interview
      • Data Structures
      • Algorithms
      • System Design
      • Programming Concepts
      • Behavioral
    • 🔥Documents
  • Question Answers
    • ⭐Question Set 1
    • ⭐Question Set 2
    • ⭐Question Set 3
    • ⭐Microservice Architecture
    • ⭐Company-wise
      • Publicis Sapient
        • Core Java Section
        • Solutions & Tools
        • Microservices
        • Mix Questions
      • Mastercard
      • Finicity
  • Notes
    • 🎯Java Fundamentals
      • Time & Space Complexity
      • Design Patterns
      • Collections
      • Java 8 Features
      • JVM Internals
      • Generics
      • Multithreading
    • 🎯Spring Fundamentals
      • Spring Boot
      • Spring AOP
      • Spring Cloud
      • Spring Security
      • Spring Batch
    • 🎯Database
      • Oracle SQL
        • Aggregate Functions
      • MongoDB
        • Commands
        • Aggregate Query
      • Distributed Transaction
    • 🎯Apache Kafka
      • Kafka with Spring Boot
      • Partitions
    • 🎯Redis
    • 🎯Mockito
    • 🎯Docker
      • Commands
    • 🎯Kubernetes
      • Commands
    • 🎯Prometheus
    • 🎯Build Tools
      • Gradle
      • Apache Maven
    • 🎯Architecture
      • API and Integration Strategy
  • ⚓Developer Reference
    • ❄️GCP
    • ❄️Linux
  • Structured Learning Plan
    • 🍉Java Multithreading
    • 🍉Data Structures
    • 🍉Spring AOP
    • 🍉Transaction Management
    • 🍉MongoDB
    • 🍉Design Patterns
    • 🍉System Design
Powered by GitBook
On this page

Was this helpful?

  1. Notes
  2. Spring Fundamentals

Spring Cloud

Overview

Spring Cloud is a framework designed to simplify building and deploying distributed systems. It provides a set of tools and frameworks for building microservices and distributed systems. The key features of Spring Cloud include service discovery, load balancing, circuit breakers, and configuration management.

Service Discovery

  • Spring Cloud provides a service discovery mechanism based on Netflix Eureka.

  • Services can register with the discovery server by specifying their own metadata and health checks.

  • Clients can discover services by querying the discovery server.

Load Balancing

  • Spring Cloud provides a client-side load balancer based on Netflix Ribbon.

  • The load balancer can be configured to use different strategies, such as round-robin, weighted, or zone-aware.

  • The load balancer also integrates with service discovery to automatically discover and balance requests across available instances.

Circuit Breakers

  • Spring Cloud provides a circuit breaker mechanism based on Netflix Hystrix.

  • Circuit breakers can be configured to handle different types of failures, such as network timeouts or service unavailable errors.

  • When a circuit breaker is open, requests are automatically redirected to a fallback method or service.

Configuration Management

  • Spring Cloud provides a configuration management mechanism based on Spring Cloud Config.

  • Configuration can be externalized and stored in a central configuration server.

  • Services can retrieve their configuration from the configuration server at runtime.

API Gateway

  • Spring Cloud provides an API gateway based on Netflix Zuul.

  • The API gateway can be configured to handle different types of requests and perform actions such as authentication, rate limiting, and routing.

  • The API gateway also integrates with service discovery and load balancing to automatically route requests to available instances.

Distributed Tracing

  • Spring Cloud provides a distributed tracing mechanism based on OpenTracing and Zipkin.

  • Services can create and propagate tracing information across different service boundaries.

  • Traces can be collected and visualized in a central dashboard.

Messaging

  • Spring Cloud provides a messaging framework based on Spring Cloud Stream.

  • Services can exchange messages using different messaging systems, such as Kafka or RabbitMQ.

  • The messaging framework provides abstractions for message routing, serialization, and error handling.

Summary

Spring Cloud is a powerful framework for building and deploying distributed systems. It provides a set of tools and frameworks that simplify the development and deployment of microservices. By using Spring Cloud, developers can focus on building business logic and let the framework handle the complexities of distributed systems.

PreviousSpring AOPNextSpring Security

Last updated 2 years ago

Was this helpful?

🎯