Search

Lessons (28)

  • Real-Time, Pub/Sub, Webhooks and CDC

    … an event stream can feed pub-sub consumers, webhook delivery, server-sent updates and database change capture](/img …

  • Vertical Slice Architecture & the Modular Monolith

    … public interfaces. mermaid flowchart TB subgraph App["🏒 One deployable application"] direction LR subgraph M1["πŸ“¦ Ordering module"] O1[public …

  • Event-Driven Architecture

    … Write model publishes; read model projects Fast, tailored reads; eventual consistency mermaid flowchart LR subgraph N["Event notification …

  • Data in Microservices: Sagas & the Outbox Pattern

    … A separate relay process reads the outbox and publishes to the broker. mermaid flowchart LR subgraph Tx["One …

  • Service Communication: Sync vs Async

    … one or many subscribers Coupling The sender knows who does the work The publisher doesn't know who …

  • Message Queues & RabbitMQ

    … Only one worker should do it. - Pub/Sub: "a user signed up". Email, analytics and CRM all want …

  • Monolith vs Microservices

    … Modules talk only through public interfaces, never by reaching into each other's tables. mermaid flowchart TB subgraph …

  • REST vs GraphQL vs gRPC

    … See how each works, compare them side by side, and learn which to pick for public APIs, mobile …

  • Kafka vs RabbitMQ & the Kafka Ecosystem

    … db", "database.dbname": "orders", "table.include.list": "public.orders,public.outbox", "topic.prefix": "shop" } } Change Data Capture (CDC …

  • Domain-Driven Design: Tactical Patterns

    … load β†’ call domain β†’ save β†’ publish PlaceOrderHandler Domain event Something that happened in the domain OrderPlaced , OrderShipped Factory Encapsulates …

  • Onion Architecture & Clean vs Hexagonal vs Onion

    … postgres, stripe (Hexagonal adapters) How these relate to Layered architecture mermaid flowchart TB subgraph L["Layered: dependencies point …

  • Caching & Redis

    … XADD , XREADGROUP Event log with consumer groups Pub/Sub PUBLISH , SUBSCRIBE Real-time notifications, chat js // Leaderboard in …

  • Domain-Driven Design: Strategic Design

    … Domains and subdomains, ubiquitous language, bounded contexts, all the context-mapping patterns, and event storming to discover them …

  • Behavioral Patterns I: Observer, Strategy, Command, State

    … Observer (Pub/Sub) πŸ“° Analogy: A YouTube channel. You subscribe once; every new video, you get notified. The channel …

  • API Gateway, BFF & Service Discovery

    … Hard-coding 10.0.3.17:8080 doesn't work. mermaid flowchart LR subgraph Registry["πŸ“’ Service registry"] R …

  • SOLID at a Glance

    … injected abstractions this.repository = repository; this.notifier = notifier; } async publish(report, exporter) { const file = exporter.export(report); // L …

  • What Are Design Patterns?

    … one change"] P -- S["πŸ’‘ Solution<br/ subscribers register;<br/ the subject notifies them"] S -- C["βš–οΈ Consequences<br/ loose …

  • YAGNI: You Aren't Gonna Need It

    … and using 10% of it. mermaid flowchart LR subgraph Pack["🧳 Packing 'just in case'"] A[Snow boots …

  • Which Pattern Do I Need?

    … lessons: Object-level pattern System-level cousin --- --- Observer Pub/Sub, Kafka topics, event-driven architecture Facade API Gateway …

  • What Is Apache Kafka?

    … point connections had become spaghetti: mermaid flowchart LR subgraph Before["❌ Before: everything talks to everything"] A1[Web app …

  • Microkernel (Plugin) Architecture

    … The phone maker doesn't rebuild the OS for each new app; apps plug in through a published …

  • REST API Design

    … true } } mermaid flowchart LR subgraph Offset["OFFSET 100000 LIMIT 20"] o["DB reads and throws away<br/ 100 …

  • Services & Ingress

    … gone after restart" P1[pod] end subgraph With["βœ… Through a Service"] C2[checkout] -- "http://shop-api" S{{"Service …

  • Finding Service Boundaries with DDD

    … mermaid flowchart TB subgraph Catalog["πŸ“š Catalog context"] CP["Product<br/ name, images, description"] end subgraph Ordering["πŸ›’ Ordering …

  • CQRS & Event Sourcing

    … balance = 120"] end subgraph ES["Event sourced"] E1["1. AccountOpened"] -- E2["2. MoneyDeposited $100"] -- E3["3. MoneyWithdrawn $30 …

  • Helm, kubectl Cheat Sheet & Best Practices

    … team-shop } subjects: [{ kind: Group, name: shop-developers }] roleRef: { kind: Role, name: read-pods, apiGroup: rbac.authorization.k8s …

  • Frontend Performance & Core Web Vitals

    … stop things jumping mermaid flowchart LR subgraph Before["❌ Image loads without reserved space"] B1["Headline<br/ [Buy button …

  • Choosing an Architecture

    … a realistic example mermaid flowchart TB subgraph Mono["🏒 Modular monolith (one deployable)"] direction LR subgraph Ord["πŸ“¦ Ordering: Hexagonal …