Microservices Architecture with Spring Cloud Training
Level
IntermediateDuration
24h / 3 daysDate
Individually arrangedPrice
Individually arrangedMicroservices Architecture with Spring Cloud Training
Spring Boot is currently the most popular technology used for building web applications in Java. In this training, participants will learn the framework’s architecture, be guided from the basics through the key Spring modules, and in practice experience how quickly one can build a web application using it.
Who is this training for?
People with intermediate knowledge of Java SE
Those who want to acquire or deepen knowledge about building web applications
Folks who want to learn from scratch how to build web applications with Spring, or who want to organize and solidify their existing knowledge
Those looking for lightweight alternatives to Java EE
What You Will Learn
- You will learn the Spring Framework architecture — starting from Spring Core basics, through Spring Boot’s configuration improvements, up to the inner workings of modules such as Spring Web or Spring Data
- You will learn to configure applications (including understanding why things are done in particular ways)
- You will learn how, following best practices, to expose REST services in Spring, accept and validate data, handle potential errors, and consume APIs exposed by other services
- You will practice working with databases using Spring Data
- You will write unit and integration tests using Spring Test
- You will learn best practices that help you better manage code and project structure when building web applications
Training Program
-
Microservices
- Comparison with monolithic applications
- Cloud Native assumptions
- Spring Cloud
- Spring Boot
- Actuator
- Spring Cloud Commons
-
Service Registry & Service Discovery
- Using Eureka
- Service registration – instance identification
- Service discovery – obtaining info about instances
-
Spring Cloud Config
- Spring Cloud Config Client & Server
- Configuration for applications, profiles, and environments
- RefreshScope and configuration refresh
- Automatic configuration refresh
- Using a GIT repository
-
Inter-service Communication
- Using RestTemplate
- Load balancing with Spring Cloud Load Balancer
- OpenFeign as REST client
- Defining clients via annotations
- Error handling
-
Spring Cloud Circuit Breaker
- Handling communication failures
- Using Hystrix and Resilience4j
- Error response policies
-
API Gateway
- Gateway service
- Service routing
-
Spring Cloud Stream
- Asynchronous communication
- Sink, Producer, Processor
- Functional style approach
-
Spring Cloud Sleuth
- Tracing request flow
- Trace and Span
- Collecting logs with Zipkin
- Using the OpenTelemetry API
-
Containerization
- Docker – creating containers
- Docker Compose – composing sets of services
- Spring Cloud Kubernetes – adapters for Kubernetes
-
Benefits of the Spring Framework
- You don’t have to worry about configuration details of individual components of your infrastructure — Spring can handle much of this for you, allowing you to focus on writing business logic
- You can rapidly deliver an MVP for your project
- Thanks to a consistent programming model, using new technologies in the application (even those you aren’t familiar with yet) feels natural and straightforward