Skip to content
Search lessons, topics, tests…
Esc

    ↑ ↓ moveEnter openEsc close

    Guided course · Architecture and Design in .NET

    System Design Fundamentals with .NET and C# Examples: back to the course

    Module 1 · Orientation and Load Balancing · Lesson 2 of 18

    Quick cheat sheet

    Topic

    TopicSolves.NET / C# hookMain trap
    Load balancersSpread traffic, fail over, enable deploysMap health/readiness endpoints; handle forwarded headersBad health checks and sticky state
    CachingReduce latency and DB/API loadIMemoryCache, IDistributedCache, cache-asideStale data, stampedes, data leaks
    SQL vs NoSQLChoose persistence modelEF Core for SQL; abstractions for document/key storesPicking by hype instead of access pattern
    IndexingSpeed selective reads and sortingHasIndex, unique indexes, query-plan reviewOver-indexing and wrong composite order
    ShardingScale writes/storage beyond one DBTenant-aware DbContext factory/shard resolverCross-shard queries and rebalancing
    ReplicationRead scale, HA, DRPrimary for writes, replicas for stale-ok readsReplica lag and failover ambiguity
    Message queuesAsync work and spike smoothingOutbox table + BackgroundService publisherDuplicate messages and poison retries
    Rate limitingProtect shared capacityAddRateLimiter partitioned by tenant/user/keyWrong identity and retry storms
    CDNEdge cache and origin protectionCache-Control, ETag, static asset versioningCaching private data
    ConsistencyDefine read/write guaranteesEF transactions, rowversion, optimistic concurrencyMixing caches/replicas without rules
    Eventual consistencyScale cross-service workflowsVersioned events, projectors, reconciliationPromising immediate consistency
    IdempotencyMake retries safeIdempotency-Key table; processed message IDsIn-memory key stores and body mismatch
    ObservabilityUnderstand production behaviorILogger, ActivitySource, Meter, health checksPII leakage and high-cardinality metrics
    AuthN/AuthZIdentity and permissionsJWT bearer, policies, resource checksTrusting client tenant/user claims
    API designStable contractsMinimal APIs, ProblemDetails, OpenAPI metadataLeaking entities and weak pagination
    Multi-tenantServe many customers safelyTenant context, query filters, per-tenant quotasIsolation leaks and noisy neighbors
    Background jobsRun slow/scheduled workBackgroundService, Channel, durable queueLost in-memory jobs
    Distributed locksCoordinate rare shared workLease table, TTL, fencing tokenUsing locks instead of constraints
    Failure handlingLimit blast radiusCancellationToken, retries with jitter, DLQRetrying non-idempotent work
    Cost trade-offsKeep system economically saneSampling, batching, caching, capacity metricsComplexity before evidence
    Sign in to mark lessons done and keep your place in the course.Sign in