#microservices

  • Database In Microservices
    Tools and approaches for database access in microservices, covering reverse proxies, load balancers, MySQL clustering, and data synchronization.
  • Top 10 System Design And Microservices Questions
    Ten common system design and microservices interview questions with hints on what to clarify and how to structure an answer.
  • Grab Tech Talk Takeaways
    Notes from a Grab tech talk on building an API gateway, covering technology choices, design, performance, maintenance and safe upgrades.
  • Scalable Golang Course Notes
    Curriculum outline of Viet Tran's scalable Golang course, covering language features, APIs, databases, async jobs, deployment, gRPC, microservices, and DevOps.
  • Java Microservices
    Pointer to MicroProfile, an API library that provides tooling for building microservices in Java.
  • Designing For Distributed Failure
    How to design a multi-service system around failure: timeouts that mean unknown, partial failure, clock skew, replication lag, sagas and compensation, duplicate or out-of-order messages, retry budgets, tracing, and the trade-offs behind each choice.
  • Modular Monolith Vs Microservices
    When a modular monolith is enough and when splitting into services pays off: boundary enforcement, in-process calls versus network calls, the Orders–Billing example, Spring Modulith and ArchUnit, and a Strangler Fig migration path.
  • Strangler Fig
    Describes the Strangler Fig pattern for incrementally migrating a monolith to microservices behind a proxy layer, with AWS implementations, benefits, and challenges.
  • Backends For Frontends Pattern
    Describes creating a separate backend service per client interface so each frontend gets a tailored experience instead of forcing one shared backend to serve conflicting needs.
  • Choreography Pattern
    Describes decentralizing workflow logic across services that react to each other's events through a message broker, instead of relying on a central orchestrator.
  • Gateway Aggregation Pattern
    Explains using a gateway to combine multiple client requests into one, cutting chattiness and latency between clients and backend services.
  • Saga Pattern
    Keep data consistent across microservices with a sequence of local transactions and compensating transactions, using choreography or orchestration instead of two-phase commit.
  • Outbox Pattern
    Explains how the Outbox Pattern with Change Data Capture (Debezium and Kafka) solves the dual-write problem in microservices, including the outbox table structure, duplicate handling, and eventual consistency.
  • Retry And Circuit Breaker
    Covers retry with gradual backoff, the Circuit Breaker pattern, distributed transaction techniques such as SAGA, and the Outbox pattern for reliable messaging.
  • Software Architecture
    A survey of software architecture patterns (Clean, Hexagonal, Microservices, EDA, DDD, CQRS, LMAX, MVC family) and design principles (SOLID, DRY, AOP, Command Bus), with references and examples.