Complete Guide to Microservices Design Patterns
This course explores MSA design patterns, implementation strategies, and various content crucial for microservice application development. You will acquire core knowledge and practical methods for successfully converting existing monolithic applications to MSA. You will analyze diverse design patterns underpinning microservice architecture, learning their suitable contexts and application methods.
501 learners
Level Basic
Course period Unlimited
News
4 articles
Hello. We’ve added a new supplemental lecture to the Practical LLM Service Development for Spring Developers (Part 1) course. In this approximately one-hour lecture, you’ll learn how to integrate TypeSafe AI’s recently released decision model, Jev, into a Spring Boot application.
Why was it added?
In Section 4, we covered how to useentity()to receive an LLM response as a Java object, as well as the practical pitfall of parsing breaking when the model wraps JSON in code fences. Whether you ask through a prompt or automate it withentity(), the limitation remains that you are ultimately "asking" the LLM to follow a particular format.
Jev takes a different approach. Instead of writing text, it chooses an answer from a predefined set of options and returns it along with its probability. In other words, the format is structurally guaranteed. Processing the same input in both ways makes it much clearer what to consider when designing "structured output." That is why we organized this content as an extension of Section 4.What will you learn?
The Concept of Jev and System One Models: What It Means to Return a “Typed Decision” Instead of Text
The difference between LLMs and Jev: descriptive answers vs. multiple-choice answers, and what each does well and poorly
Three question types (choice · score · noul) and the
/v1/systemonerequest structureCalling from Spring: Call the Jev API with
RestClientand use a Java enum to create choices and convert the response in a type-safe manner.Comparison demonstration: Analyze the same movie review using
entity()and Jev, then compare speed, format errors, confidence, and consistency.
Updated materials included
Section 4 Example Code (ch4): Two Review Analysis APIs (
/api/movies/review/llm,/api/movies/review/jev) and the Addition ofJevClientSupplementary lecture slides and course materials
Comparison test scripts:
review-compare.shfor macOS andreview-compare.ps1for Windows
Things to know in advance
Jev is not a feature of Spring AI, but rather a separate external service provided by TypeSafe AI. In the course, it is called directly using Spring AI's
RestClient, not itsChatClient.Jev is currently in the early access stage, so there may be a wait to obtain an API key. Jev is disabled by default in the example code (
jev.enabled=false), so you can proceed with the existing exercises as usual even without a key. If you don't have a key, watch the demonstration in the video and follow along with a focus on the concepts and code.As this service has just been launched, its pricing or API may change later. If any changes occur, we will notify you again through a new announcement.
📌 Go directly to the course: https://inf.run/VVpnV
If you have any questions while taking the newly added lessons or get stuck during the hands-on exercises, feel free to leave a comment. We’ll continue to regularly add content that you can use right away in your work.
Hello, I’m Lee Do-won.
"I’ve created Jenkins pipelines, but I’ve only heard of ArgoCD and GitOps as concepts."
"I’m at a loss as to how to design deployments for each dev, staging, and production environment."
For those facing these challenges, we have opened the “Practical GitOps CI/CD with Jenkins and ArgoCD” course on Inflearn.
Here’s what sets this course apart
• Beyond traditional Jenkins-based CI/CD, we also cover ArgoCD-based GitOps.
• We directly compare the Push (Jenkins) and Pull (ArgoCD) approaches on the same cluster. When someone makes a manual change with kubectl, you can see firsthand how one remains unchanged while the other automatically recovers, and experience the differences in how rollbacks and deployment histories are reviewed.
• Combine the two approaches to build a hybrid deployment pipeline from start to finish, with Jenkins Push for dev·staging and ArgoCD Pull (manual Sync approval) for production.
• You will practice essential deployment techniques needed for operations, including canary deployments, blue-green deployments, RBAC, approval procedures, incident response, and automatic rollbacks.
Practice Environment
We’ll proceed using just Docker Desktop. It works on both Windows and macOS, and you don’t need a cloud account such as AWS or any additional fees.
Recommended for
• Backend and infrastructure engineers who have used Jenkins but are new to ArgoCD/GitOps
• Those who want to move Kubernetes deployments from manual kubectl apply to automation
• DevOps and SRE professionals concerned with operational requirements such as deployment approvals, rollbacks, and audit trails
The total runtime is approximately 10–11 hours, and hands-on materials and a troubleshooting guide are also included.
👉 View the course: https://inf.run/dEjZE
If you have any questions, feel free to leave them in the comments or in the course Q&A!
We have newly launched the Practical LLM Service Development for Spring Developers (Part 1) course. Although it may feel a little overdue, this course covers what you need to learn to develop LLM applications using the Spring framework, which is familiar to Java developers. We hope you will take a great interest in it.
Why did I create this course?
These days, keywords like RAG, vector search, and AI agents can be found everywhere, but there aren’t many resources that address, at a practical level, “how to integrate them with a Spring Boot backend.”
This course incorporates into its curriculum the problems I encountered while debugging an actual RAG recommendation endpoint—including how chunking documents by token broke their semantic units and degraded search quality, and how I solved the problem by switching to paragraph-based chunking. Rather than simply showing you the correct code like a tutorial, we’ll follow along together to understand “why it doesn’t work → how to diagnose it → how to fix it.”
Recommended for the following people
Backend developers with Spring Boot experience who are new to developing LLM/AI services
Developers who want to apply RAG and vector search at the level of real-world projects, not just tutorials
Professionals who need to directly implement internal AI features (chatbots, document search, recommendations, etc.) using Spring.
Experience creating REST APIs with Spring Boot is all you need. No prior knowledge of AI/LLMs is required.
What will you learn?
1. Spring AI Core Fundamentals Basic usage of ChatClient, structured output, and streaming response implementation
2. Building a RAG Pipeline Vector store integration, comparison of document chunking strategies and hands-on troubleshooting, search quality improvement, and prompt design
3. Tool and Multimodal Expansion Integrating external tools using MCP (Model Context Protocol), processing multimodal inputs such as images, and integrating with Dify
4. Service Stabilization and Real-World Projects Applying guardrails, designing reliable services, and a mini project that integrates everything you have learned so far
The appendix also covers how to use AI coding tools and Ollama.
Series Guide
This release is Part 1 of the full series. Parts 2 and 3 will cover more advanced architectures and real-world cases, and once the entire series is released, we plan to offer a discount on the full package.
📌 Go to the course: https://inf.run/VVpnV
Feel free to leave any questions or inquiries about the curriculum in the comments. Through Part 1, I hope to take the first step with you toward integrating an LLM into your Spring service.
Hello, this is Lee Do-won.
This time, we have opened a new Design Pattern lecture for Microservice Architecture.
After leaving behind the truly difficult and busy year of 2024, May of the new year of 2025 is already passing by.
There were a lot of things going on with my projects, lectures, and personal life, but I was able to open a lecture that I had been putting off for a long time.
Microservices Application (MSA) Developed with Spring Cloud
Building a CI/CD Pipeline Using Jenkins
Docker Virtualization Technology for DevOps (Private Harbor Registry)
Developing MSA applications using microservice design patterns
Following the lecture, I have prepared a lecture on design patterns required for building applications. When I first planned the lecture, "Developing Microservice Applications (MSA) with Spring Cloud," I planned to complete the basic lecture on Cloud Native and then develop a web service through design patterns and architectures that can be applied to practice as the next step, but it took longer than expected. However, I organized various patterns into several groups and opened the lecture, so I hope you will show a lot of interest.
In this lecture, we cover the following patterns:
API Gateway: A pattern that receives all client requests from a single entry point and handles authentication, logging, routing , etc. You can manage multiple microservices in one place.
Service Discovery: A pattern of registering and finding the locations of dynamically changing service instances in a central registry . This allows for automatic address discovery when communicating between services.
Synchronous & Asynchronous communication : Synchronous communication is a method in which the service that sent the request waits for a response, and the thread is blocked until the response comes. Synchronous communication can be implemented in the REST / gRPC / GraphQL API manner. Asynchronous communication is a method in which the service that sent the request proceeds with the next task immediately without waiting for a response, and communicates by publishing and subscribing to events through a message broker such as Kafka.
Circuit Breaker: A pattern that short-circuits calls to prevent a chain reaction of failures in a single service. When an external service is unavailable , calls are stopped for a certain period of time and fail-fast is achieved.
Fallback handling: This pattern provides alternative responses or retry logic as a fallback when circuit breakers, etc. are triggered. It increases the resilience of the system in the event of a partial failure.
Saga Pattern: A distributed transaction pattern for maintaining data consistency across distributed services. It links local transactions of each service with events/messages to ensure eventual consistency.
CQRS & Event Sourcing: CQRS (Command Query Responsibility Segregation) is a pattern that increases scalability by separating read and write models, and Event Sourcing is a pattern that stores state changes as event logs and restores the state based on history . They are used together to manage data for complex businesses.
EDA: Event Driven Architecture is a software architecture pattern that designs systems around the creation, detection, consumption, and use of events. It is the way in which components of microservice applications communicate and interact with each other through 'events'.
BFF (Backend for Frontend): A pattern that provides a specialized backend for each platform, such as web and mobile. It increases efficiency and development productivity by creating a dedicated API layer that meets the needs of each frontend.
Now, I'm going to update the content of the existing lectures, starting with the lecture "Developing Microservice Applications (MSA) with Spring Cloud" that I've been putting off for a while. It's been quite some time since I opened the lectures, and I've been thinking that I have to re-create them with the latest content, so I'm going to update them without delay.
Thank you again to those who have shown interest in the lecture. If you have any questions or feedback, please leave them and we will do our best to respond as quickly as possible.
thank you

