InfoQ Homepage Microservices Content on InfoQ
-
Reactive Real-Time Notifications with SSE, Spring Boot, and Redis Pub/Sub
Explore the power of reactive programming for building scalable real-time notification systems. Using Spring Boot Reactive and Spring WebFlux, leverage non-blocking operations to handle high-volume, asynchronous data flows efficiently. Discover how Redis Pub/Sub enables event-driven messaging and how the SSE protocol provides persistent connections for instant client updates without polling.
-
Cell-Based Architecture Adoption Guidelines
The challenges in building modern, reliable, and understandable distributed systems continue to grow, and cell-based architecture is a valuable way to accept, isolate, and stay reliable in the face of failures. Organizations must ensure that the cell-based architecture is the right fit for them and that the migration will not cause more problems than it solves.
-
Securing Cell-Based Architecture in Modern Applications
Securing cell-based architecture is essential to fully capitalize on its benefits while minimizing risks. To achieve this, comprehensive security measures must be put in place. Organizations can start by isolating and containing cells using sandbox environments and strict access control mechanisms like role-based and attribute-based access control.
-
Taking Advantage of Cell-Based Architectures to Build Resilient and Fault-Tolerant Systems
Cell-based architectures offer a robust approach to building resilient systems. They achieve this through the core principles of isolation, autonomy, and replication. Each cell manages its resources and makes decisions autonomously. Observability for cell-based architecture requires a tailored approach to address the unique challenges and opportunities presented by this distributed system design.
-
Article Series: Cell-Based Architectures: How to Build Scalable and Resilient Systems
In this article series, we take readers on a journey of discovery and provide a comprehensive overview and in-depth analysis of many key aspects of cell-based architectures, as well as practical advice for applying this approach to existing and new architectures.
-
How Cell-Based Architecture Enhances Modern Distributed Systems
Cell-based architecture has emerged as a response to many challenges associated with distributed systems. It employs the bulkhead pattern to isolate failures to a fraction of the affected infrastructure footprint and prevent widespread impact. Cells can also help organize large architectures into domain-bound deployment and delivery units, which provides essential sociotechnical benefits.
-
Embracing Reactive Applications on JVM: a Deep Dive into Modern I/O Models and Vert.x
This article discusses the shift from blocking to non-blocking and asynchronous I/O models, highlighting their role in modern software development. It focuses on Vert.x, a toolkit for building reactive applications on the JVM, featuring the Multi-Reactor Pattern, Event Bus, and Verticles. Vert.x is ideal for cloud, Big Data, and IoT, as shown through benchmarks and real-world examples.
-
Scaling Challenges: Productivity, Cost Efficiency, and Microservice Management
The main objective of this article is to delve into the technical complexities and strategic adjustments undertaken by Trainline. By examining challenges such as managing peak transaction volumes and orchestrating microservice architectures, we aim to uncover the valuable lessons learned and insights gained from Trainline's journey through the dynamic landscape of digital transportation platforms.
-
Are You Done Yet? Mastering Long-Running Processes in Modern Architectures
In this article, Bernd Ruecker explores the importance of long-running processes in various applications, particularly in distributed systems. He emphasizes the value of asynchronous communication and explores strategies like Centers of Excellence, along with visual tools like BPMN for enhancing communication and understanding. The contents of this article were presented during QCon London 2024.
-
Optimizing Spring Boot Config Management with ConfigMaps: Environment Variables or Volume Mounts
Spring Boot stands out as a viable framework for its agility and streamlined workflow. Yet, effective configuration management remains a pivotal factor influencing deployment efficiency and ongoing maintenance. ConfigMaps, a feature in Kubernetes, provides configuration strategies for Spring Boot applications.
-
Introducing the RIG Model - the Puzzle of Designing Guaranteed Data-Consistent Microservice Systems
The RIG model formulates three rules for a saga call chain. Using a gamified RIG tool, consisting of three main RIG puzzle pieces, teams can model a microservice system that guarantees eventual data consistency.
-
Spring Boot 3.2 and Spring Framework 6.1 Add Java 21, Virtual Threads, and CRaC
Spring Framework 6.1 and Spring Boot 3.2 run on Java 21. They make concurrent programming simpler and more efficient with virtual threads, as well as improving reactive programming and Kotlin coroutines. For “Scale to Zero” startup time reduction, the OpenJDK project CRaC received initial support, while the existing GraalVM Native Image integration got faster through a GraalVM release.