Synchronous Code in Reactive Chains — Why, Where, and When It’s Safe
Date: 2026-02-27 Context After converting auth-service from Servlet (Spring MVC) to WebFlux, 80-90% of the code is reactive/async. But 10-20% […]
Date: 2026-02-27 Context After converting auth-service from Servlet (Spring MVC) to WebFlux, 80-90% of the code is reactive/async. But 10-20% […]
1. The Problem: Kafka Tracing Invisible on WebFlux — Both Approaches Failed When geospatial-service ran on WebFlux, Kafka producer/consumer spans
Overview The adventureTubeData MongoDB collection is the core geospatial dataset powering both iOS and Web clients. It contains 39 documents
Routing rule: All writes (create/update/delete) go through Auth Service. All reads go through Web Service. Geospatial Service is internal only.
Problem When auth-service called member-service and got a 4xx error (e.g. USER_NOT_FOUND on second delete), the circuit breaker treated it
1. Service Connection Pattern The first architecture decision for a microservice platform: how do services connect to each other? Everything
Goal: Route all geo writes through Auth Service, enforce content ownership via JWT email matching, and return SSE streams for
Goal: Create a delete function across microservices with ownership verification. Phase 1 builds the basic delete flow. Phase 2 adds
1. Why Mixed Reactive / Non-Reactive Architecture The project originally attempted a fully reactive stack across all services, but was
1. Why Kafka Over Other Message Brokers AdventureTube uses Apache Kafka for asynchronous messaging between microservices. Here’s why Kafka was