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 β¦