cloud-native Java. It includes cloud-ready solutions for your cloud-native challenges and improves the performance, reliability, management, and security of your cloud-based applications. ➔ API Gateway ➔ Service registry ➔ Configuration server ➔ Distributed Tracing ➔ Circuit Breakers ➔ Load Balancer ➔ API Contract Definition & Testing ➔ Cloud Service Connectors (AWS, etc.) ➔ Streaming Data ➔ Serverless & Functions Spring Cloud has everything you need to build robust, reliable cloud-native applications... Introduction To Spring Cloud: 12:05 PM EST
integration with multiple version control systems to keep your config safe You can customize where the config server retrieves configuration from Implement the EnvironmentRepository interface Create a bean for your custom EnvironmentRepository
• Securing and hiding services • Routing and filtering messages • Handling load Spring Cloud Gateway can be customized by adding • Custom filters • Custom predicates • Custom RouteDefinitionLocator ◦ Where route definitions are stored • Transforming payloads • and much more...
and reliable fallbacks in case of emergency Spring Cloud CircuitBreaker gives you the choice of three popular open-source options: Resilience4J, Sentinel, or Hystrix. You can provide your own circuit breaker implementations for other libraries Spring Cloud CircuitBreaker offers the developer the ability to customize the configuration of the underlying implementation
apps are under pressure, spreading the load helps smooth things out • Pluggable ServiceInstanceListSupplier and ReactiveServiceInstanceLoadBalancer implementations • Configuring load-balancing zones • Configuring the caching mechanism and switching between different cache implementations • Configuring LoadBalancer to run health checks • Configuration (context) per target service • Implement LoadBalancerLifecycle
and maximum readability • Switching to a different HTTP client • Switching to a custom bean (for example, a Decoder) via a configuration class and via properties • Setting custom timeouts • Configuring inheriting beans from the parent context • Creating Feign Clients manually • Configuring compression • Pagination with @CollectionFormat
APIs • Configuring the Verifier Plugin (Maven and Gradle) • Contracts on the Producer Side, pushed to Git or an external Git or artifact repository • Configuring REST Docs support • Messaging with different Messaging implementations • Setting contracts to `inProgress` • Client-side runtime stubs generation • Contract Metadata