Michael Eder & Philipp Frauenthaler
Our journey with Spring Boot in a microservice architecture
#1about 3 minutes
Defining key architecture goals for a microservices system
The open-closed principle, fault tolerance, technology diversity, and independent deployment are essential goals for a robust architecture.
#2about 3 minutes
Understanding the core principles of microservice architecture
Microservices decompose the business and persistence layers into small, independent services, each with its own data store.
#3about 4 minutes
Avoiding tight coupling from shared code and dependencies
Sharing interfaces or using a common parent POM creates tight coupling that breaks independent development and builds.
#4about 3 minutes
Managing shared libraries and API versioning effectively
Common functionality should be outsourced to versioned shared libraries, and service APIs must be versioned to prevent breaking changes.
#5about 3 minutes
Designing a single entry point for data objects
Using multiple communication channels for the same data object complicates maintenance, so a single entry point simplifies logic and conversion.
#6about 5 minutes
Mitigating temporal coupling with robust backup strategies
Reduce the impact of service failures caused by temporal coupling by implementing backup strategies like default values or disabling features.
#7about 2 minutes
Improving performance and resilience with local caching
Implementing a local data cache, such as Google Guava, reduces synchronous calls to other services and improves system resilience.
#8about 2 minutes
Achieving fault tolerance through scaling and redundancy
Use platforms like Kubernetes with health checks to automatically scale and replace faulty instances of stateless services for high availability.
#9about 5 minutes
Decoupling services using asynchronous communication patterns
Asynchronous communication via a message broker increases availability and fault tolerance but requires careful handling of redelivery and monitoring.
#10about 27 minutes
Adopting an iterative mindset for architecture evolution
Building a microservice architecture is an ongoing, iterative process that requires continuous improvement and an open-minded team culture.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
Microservices: how to get started with Spring Boot and Kubernetes
Aleksandr Kalikov
Bootiful Spring Boot 3
Josh Long
Microservices with Micronaut
Moritz Kammerer
Going reactive with Spring WebFlux
Michael Eder & Philipp Frauenthaler
Are you done yet? Mastering long-running processes in modern architectures
Bernd Ruecker
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
Slip Through the Boundaries of Legacy Systems with Kotlin and Spring WebFlux
Lukas Georgieff & Alberto Gisbert
Hibernate: How to keep calm
Philipp Frauenthaler & Gregor Lucny
From learning to earning
Jobs that call for the skills explored in this talk.
Senior Back-End Developer (Microservices Architecture with SpringBoot)
Talan SAS
Municipality of Madrid, Spain
Senior
Java
Kafka
Grafana
Jenkins
Openshift
+4
Senior Backend Developer / Architect (Java -Spring Boot)
ALOVIA CONSULTING
Municipality of Madrid, Spain
API
Java
REST
Azure
NoSQL
+9
Senior Developer / Tech Lead - Java (Spring Boot) & JavaScript
Interactivated Solutions Europe
Senior
GIT
Java
REST
NoSQL
Scrum
+4
Desarrollador backend (Java SPRINGBOOT)
Krell Consulting & Training
Remote
€40K
Intermediate
MVC
Java
Azure
+7


