Search
Lessons (20)
- API Contracts, Gateways and Security
Make APIs evolvable and safe with explicit formats, versioning, idempotency, gateway policy, authentication and authorization.  Without vs with a gateway mermaid flowchart β¦
- Services & Ingress
β¦ Ingress, evolved The newer Gateway API splits responsibilities between roles and supports more features (header matching, traffic splitting β¦
- Design a Chat Application
β¦ Offline push comes from the durable event, not an in-memory gateway.
- Design a Logging and Monitoring Platform
β¦ logs, metrics and traces to an authenticated ingestion gateway. A durable stream absorbs bursts; processors index a bounded β¦
- Resilience Patterns
β¦ Without it, one slow service causes a cascading failure : mermaid flowchart LR U[π₯ Users] -- G[Gateway] -- O[Orders β¦
- Timeouts, Retries & Backpressure
β¦ Do not give every hop its own 1,000 ms timeout. Step Budget When it expires --- ---: --- Gateway/app β¦
- Which Pattern Do I Need?
β¦ Sub, Kafka topics, event-driven architecture Facade API Gateway, Backend for Frontend Proxy Reverse proxy, CDN, service mesh β¦
- How a Web Request Works
β¦ failed 500 Internal Error, 502 Bad Gateway, 503 Unavailable, 504 Gateway Timeout 5. Your server code Inside the β¦
- Serverless Architecture
β¦ mermaid flowchart LR H["π HTTP request<br/ (API Gateway)"] -- F1["Ξ» createOrder"] S3["πΌοΈ File uploaded<br/ (S3 β¦
- Onion Architecture & Clean vs Hexagonal vs Onion
β¦ Repository / service interface in domain services Output port / gateway interface Interface the core offers Driving (primary) port Application β¦
- Observability: Logs, Metrics & Traces
β¦ GET /checkout (total 820 ms) dateFormat x axisFormat %L section api-gateway gateway :0, 820 section orders-svc β¦
- KISS: Keep It Simple, Stupid
β¦ 3 users, day one"] direction LR GW[API Gateway] -- MS1[User service] & MS2[Auth service] & MS3[Profile service β¦
- Clean Architecture
β¦ interfaces they need β βββ RegisterUser.js βββ adapters/ controllers, repositories, gateways β βββ UserController.js β βββ PostgresUserRepository.js βββ main.js composition root: wires β¦
- Monolith vs Microservices
β¦ many deployables"] direction LR GW[API Gateway] -- US[Users svc] -- UDB[(users DB)] GW -- OS[Orders svc] -- ODB β¦
- Deploying & Operating Microservices
β¦ across all of them. mermaid flowchart LR G["Gateway<br/ traceId=abc"] -- O["Orders<br/ traceId=abc"] -- P β¦
- Data in Microservices: Sagas & the Outbox Pattern
β¦ Options: Approach How Trade-off --- --- --- API composition A BFF/gateway calls each service and joins in memory Simple β¦
- Behavioral Patterns II: Chain, Template, Iterator, Mediator, Memento, Visitor
β¦ store between components, an event bus, an API gateway, an orchestrator in a microservice saga. --- 5. Memento πΎ Analogy β¦
- Structural Patterns: How to Connect Objects
β¦ balance = 50 β You've used it: Vue 3 reactivity (built on Proxy ), MobX, API gateways, CDNs (a caching β¦
- Clean Architecture in Depth
β¦ one class per user action The application's behaviour changes Entities + port interfaces π΅ Interface adapters Controllers, presenters, gateways β¦