Search
Lessons (40)
- Event-Driven Architecture
Build systems where components react to events instead of calling each other. Broker vs mediator topologies, the four …
- CQRS & Event Sourcing
… save state every N events, then replay only newer events Event schemas change over time Versioned events, upcasters …
- Real-Time, Pub/Sub, Webhooks and CDC
Choose the right push or event mechanism and keep event delivery observable, idempotent and replayable. ![Event patterns: an …
- Service Communication: Sync vs Async
Should services call each other directly or talk through events? Compare request/response with messaging, orchestration with choreography …
- JavaScript Essentials: Event Loop, Closures & this
… Visual explanations of the event loop, microtasks, closures, and how 'this' is decided. Part 1: The event loop …
- Kafka vs RabbitMQ & the Kafka Ecosystem
… Pick what<br/ your team can operate well"] ✅ Kafka shines for: event-driven microservices where many services react …
- Architecture Patterns at Scale
Choose client-server, microservices, serverless, event-driven or peer-to-peer architecture based on ownership, failure boundaries and …
- What Is Apache Kafka?
Kafka is a distributed, durable log of events that many systems can write to and read from at …
- Serverless Architecture
… create a thumbnail export const handler = async (event: S3Event) = { for (const record of event.Records) { const image = await …
- Data in Microservices: Sagas & the Outbox Pattern
… Design compensations as business actions . Choreography saga (events) Each service listens for events and reacts. No central coordinator …
- Domain-Driven Design: Tactical Patterns
… DomainEvent[] { const e = this.events; this.events = []; return e; } private assertDraft() { if (this.status !== "DRAFT") throw new DomainError …
- Finding Service Boundaries with DDD
… 6. Event storming: put business experts and developers in a room with sticky notes for every domain event …
- Choosing an Architecture
… vertical slices (mostly CRUD)"] c1[search slice] c2[update price slice] end Ord -.- OrderPlaced, in-process event Bill …
- Design an E-Commerce Checkout
… inventory reservation, idempotent payment, order creation and durable events.  await db.transaction(async (tx) = { const inserted = await …
- Vertical Slice Architecture & the Modular Monolith
… OrderRepository; events: EventBus }, cmd: PlaceOrderCommand) { const order = Order.create(cmd.customerId, cmd.lines); // business rules in the domain …
- Time, Consistency and Distributed Transactions
… each local transaction emits an event and has a defined compensation. An outbox writes business state and its …
- Topics, Partitions & Offsets
… A topic is a named stream of related events: orders , payments , page-views , user-signups . bash kafka-topics …
- Kafka Producers
… order.totalCents }), headers: { eventType: "OrderPlaced", eventId: crypto.randomUUID(), schemaVersion: "1" }, }, ], }); } process.on("SIGTERM", async () = { await producer.disconnect(); // flush …
- Observability: Logs, Metrics & Traces
… The car's black box records every event ( logs ). And if you tracked one trip across the city …
- Indexes, EXPLAIN & Query Plans
… email) with unique/partial rule Time-range events per tenant events(tenant id, created at) Deep cursor page …
- Backend Languages: Node.js, Go, Python & Rust
… one thread + event loop"] EL(("🔁 event loop")) -- IO1[DB call → wait in background] EL -- IO2[HTTP call → wait …
- Which Pattern Do I Need?
… 4. 🏨 Facade — service layers and SDKs 5. 📰 Observer — events everywhere, UI and backend 6. 🗺️ Strategy — pluggable algorithms …
- Consumers & Consumer Groups
… async ({ topic, partition, message }) = { const eventId = message.headers.eventId.toString(); if (!(await processedEvents.has(eventId))) { // idempotency check await …
- What Is Software Architecture?
… inside an app (Layered, Clean, Hexagonal, Onion), the domain (DDD), and the whole system (microservices, event-driven, serverless …
- Helm, kubectl Cheat Sheet & Best Practices
… kubectl top pods / kubectl top nodes Recent events kubectl get events --sort-by=.lastTimestamp Dry run + diff kubectl …
- Design a Ride-Sharing Service
… Locations are eventually consistent; ride assignment needs stronger ownership. Watch stale-location age, match latency, conflicts and regional …
- Design a File Storage Service
… On completion validate checksums, commit metadata, and emit a versioned change event. Concern Design choice --- --- Unstable large upload …
- Batch vs Stream and Data Modeling
… Batch runs a bounded set later; streaming handles events continuously while data modeling controls read and write cost …
- Distributed Coordination: Consensus, Heartbeats and Gossip
… Suspicion, not certainty Spread membership at scale Gossip Eventual convergence Was data corrupted? Checksum Detect accidental modification Raft …
- React Fundamentals
… ProductCard] PC1 -.- "onAdd(id) ⬆ events go up" App Data flows down (props); events flow up (callbacks). This one …
- Proxies, APIs and Real-Time Protocols
… call gRPC/RPC Tighter coupling Slow work Queue Eventual result and lag Occasional updates Long polling Repeated connections …
- Pods
… get events --sort-by=.lastTimestamp mermaid flowchart TD P{Pod not healthy?} -- Pending D1["describe → events:<br/ 'Insufficient …
- Deploying & Operating Microservices
… Other services depend on your API and your events. Changes must be backward compatible . ✅ Safe (additive) ❌ Breaking --- --- Add …
- Views, Triggers & Stored Procedures
… A trigger runs automatically from an event. Transaction-control and return-value capabilities vary by engine, so name …