Architecture Decisions: Mixed Reactive/Non-Reactive & SSE
1. Why Mixed Reactive / Non-Reactive Architecture The project originally attempted a fully reactive stack across all services, but was […]
1. Why Mixed Reactive / Non-Reactive Architecture The project originally attempted a fully reactive stack across all services, but was […]
1. Service Connection Pattern The first architecture decision for a microservice platform: how do services connect to each other? Everything
Series Navigation: Introduce AdventureTube Microservice Hub Part 1: Architecture Overview & Design Patterns Part 2: Development Environment & Debugging Part
Branch: feature/circuit-breaker (merged to main) Commit: 241481b Date: 2026-02-26 Library: Resilience4j 2.2.0 via Spring Cloud Circuit Breaker 3.2.0 Problem Auth-service
Goal: Create a delete function across microservices with ownership verification. Phase 1 builds the basic delete flow. Phase 2 adds
Overview The adventureTubeData MongoDB collection is the core geospatial dataset powering both iOS and Web clients. It contains 39 documents
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%
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
Overview Distributed tracing for AdventureTube microservices using Micrometer Tracing + Brave + Zipkin. Zero Java code changes — Spring Boot
1. Why Kafka Over Other Message Brokers AdventureTube uses Apache Kafka for asynchronous messaging between microservices. Here’s why Kafka was