Michael Eder & Philipp Frauenthaler

Our journey with Spring Boot in a microservice architecture

The goal of microservices is deploying a service without changing anything else. Here are the practical lessons to finally achieve it.

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.

d

Saby Company
Delebio, Italy

Junior

asasd

Expire

Remote
Junior

Featured Partners

Related Articles

View all articles
BB
Benedikt Bischof
Why You Shouldn’t Build a Microservice Architecture
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.‍About the speaker:‍Michael has been working for Bosch as a sof...
Why You Shouldn’t Build a Microservice Architecture
CH
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take part
Starting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
WeAreDevelopers LIVE days are changing - get ready to take part

From learning to earning

Jobs that call for the skills explored in this talk.