- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Microservices met Spring Boot van SpiralTrain leren de deelnemers hoe je met Spring Boot snel en efficiënt microservices kunt ontwikkelen in de vorm van fat jars met een embedded server. Deze Spring Boot microservices kunnen onafhankelijk van elkaar worden gedeployed en als processen worden gestart.
De cursus Microservices met Spring Boot begint met een overzicht van het hoe en waarom van microservices. Microservices zijn ontwikkeld als antwoord op de problemen met monolithische applicaties, die op den duur moeilijk te onderhouden en uit te breiden zijn. Bij een Microservices Architectuur wordt de totale functionaliteit gerealiseerd door samenwerkende microservices, ieder onder verantwoordelijkheid van een team.
Het Spring Boot Framework is bijzonder geschikt voor de ontwikkeling van microservices omdat alle dependencies in een jar worden opgenomen. Dit maakt het eenvoudiger om Spring Boot applicaties te implementeren. Daarnaast kunnen deze applicaties eenvoudig worden voorzien van een embedded server, zodat de microservices via HTTP kunnen communiceren.
In de cursus Microservices met Spring Boot komen verschillende inter process communicatie mechanismen aan bod. We bespreken synchrone communicatie via een REST API en asynchrone communicatie via messaging. Ook communicatie via een binary protocol staat op het programma.
Tevens besteden we aandacht aan de manieren waarop microservices elkaar vinden. Zowel client-side discovery als server-side discovery worden besproken. Ook gaan we in op de inzet van tooling en utilities zoals Netflix Eureka en Apache Zookeeper.
Een belangrijk onderdeel van de cursus is het omgaan met data in Spring Boot microservices. Microservices hebben vaak een eigen database, en we behandelen hoe transacties kunnen worden afgehandeld die verschillende microservices betreffen. Onderwerpen zoals event-driven architectuur en local en compensating transacties komen aan bod.
Voor de deployment van microservices zijn er diverse opties beschikbaar, waaronder virtual machines en containers. We bespreken specifiek de deployment van Spring Boot microservices in Docker containers. Ook containerorkestratie met Kubernetes is een belangrijk onderwerp. Tenslotte behandelen we strategieën om een monolithische architectuur om te vormen naar een microservices architectuur. Voor meer informatie over Docker, kunt u de officiële website van Docker bezoeken. Voor andere relevante cursussen kunt u ook kijken naar de cursus Microservices .NET en Microservices Design Patterns.
De cursus Microservices met Spring Boot is bestemd voor ervaren Spring Java Developers die Spring Boot willen gebruiken voor de ontwikkeling van Microservices.
Ervaring met programmeren in Java en Spring is vereist om deel te kunnen nemen aan deze cursus. Basis kennis van een Microservice Architectuur is bevorderlijk voor een goede begripsvorming.
De concepten worden behandeld aan de hand van presentaties en demo's. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Microservices met Spring Boot.
Module 1 : Microservices Intro |
Module 2 : Using an API Gateway |
Module 3 : Spring Boot |
|
What are MicroServices? Components and Services Loose coupling Passing Messages Design Characteristics Simplicity and Transparency Reproduceability Asynchronous calls Mocking Components Testing Components Debugging Components |
REST Web Services GET, POST, PUT, DELETE @RestController Default Content Types @ResponseStatus and HttpStatus Working with XML and JSON Multiple Representations Filtering with @JsonView REST Clients RestTemplate Sending HTTP Requests |
Convention over Configuration No XML Spring Boot CLI Building and Deploying Using Templates Gathering Metrics Using Java With start.spring.io Spring Boot Starters Building as a Runnable JAR Data Access with Spring Data Property Support |
Module 4 : Interprocess Communication |
Module 5 : Discovery Patterns |
Module 6 : Data Management |
| Interaction Styles Request/response Notification Publish/Subscribe Synchronous vs Asynchronous Messaging Rest Synchronous IPC Apache Thrift Message Formats |
Client Side Discovery Load Balancing Service Registry Netflix Eureka Example Client Side Drawbacks Server Side Discovery Request Routing Kubernetes Apache Zookeeper Self Registration Pattern |
Distributed Data Problems ACID Transactions Distributed Transactions Polyglot Persistence Event Driven Architecture Eventual Consistency Achieving Atomicity Local Transactions Compensating Transactions Mining Transaction logs |
Module 7 : Deployment Strategy |
Module 8 : Refactoring to Microservices |
|
| Multiple Services Pattern Process or Process Group Multiple Service Instances per Host No isolation drawback Service Instance Per Host Service Instance per VM Service Instance per Container Docker and Kubernetes Serverless Deployment |
Monolitic Applications Application Modernization Big Bang Rewrite Glue code Split Frontend and Backend Extract Services Prioritizing Extract Modules Shrinking the Monolith |