Description
Spring is a Java-based programming framework and consists of various modules. Spring Boot, on the other hand, is a sublibrary in the Spring ecosystem that supports fast and easy application development for microservice architectures.
What is Microservice Architecture? Microservices architecture is an approach to software development that breaks down large and complex software into smaller, independent, and manageable parts. Each part (microservice) represents a specific functionality or service. These microservices can be developed, deployed, scaled, and managed independently. This way, you can develop and deploy different components of an application at different speeds.
Spring Microservices Spring offers a range of tools and modules for developing applications for microservices architecture. Spring microservices enable developers to quickly build and deploy their applications, easily manage communication between different microservices, and reduce the complexity associated with microservices architecture in general. This, in turn, makes large-scale and complex systems easier to manage and scalable.
The main purpose of this 5-day Spring microservice training is to explain microservice architecture to the participants and to teach them how to develop microservice applications using technologies such as Spring Boot and Spring Cloud.
Outline
Microservice Overview
Architecture
Design Patterns
Domain Driven Design
Microservice Discovery
Eureka
Registering microservices to Eureka
Microservice Configuration
Spring Config Server
Encrytion , decryption
Encryption with Jasypt
Microservice Communication
Synchronous communications
Spring RESTful Services
– API Design
– Validation
– Error Handling
– Object Mapping
– Web Security
Spring REST Clients
– RestTemplate
– OpenFeign
Asynchronous communications
Kafka
Rabbit MQ
Spring Cloud bus
Load balancing
Client side load balancing
- Spring load balancer
API Gateway
- Spring API Gateway
Microservice resilience patterns
Resilience4J
Retry
Circuit breaker
Rate Limiter
Prerequisites
Having basic Java, basic database and basic spring knowledge
