Bea.AI design blog
  • System design algorithms
    • Consistant Hashing, Bloom Filter, SkipLists, B-Tree, LRU/LFU
    • Reverse index, Inverted index, Trie, Rsync, Merkle tree
    • Leaky bucket/Token bucket, GeoHash, Quadtree, Leader election, Consensus
    • Time sync, Erasure coding, Message digest, Atomic commit, Mutual exclusion
    • Global state collection, Gossip, Replica management, Self-stabilization, HyperLoglog
    • Count-min Sketch, Hierarchial timing, Operational transform, Last write Wins, Vector clocks
  • Systems design
    • Metrics monitor & alart system
    • API gateway
    • Distributed Key-Value Storage
    • Distributed notification system
    • Task Scheduler
    • Elevator System
  • General Design Templates
    • System Design Blueprint
  • Design topics
    • Topics 1
    • Topics 2
    • Topics 3
    • Topics 4
    • Topics 5
    • Topics 6
    • Topics 7
    • Topics 8
    • Topics 9
    • Topics 10
    • Topics 11
    • Topics 12
    • Topics 13
    • Topics 14
    • Topics 15
    • Topics 16
    • Topics 17
    • Topics 18
    • Topics 19
    • Topics 20
    • Topics 21
    • Topics 22
    • Topics 23
  • System design interview steps & template
  • Typical systems and tips
  • Behaviour Questions
  • Roles requirement
    • SDE-traffic-apple
    • SDE-tools-linkedin
  • Common Systems to use in system design
    • Kafka
    • Flink
    • InfluxDB & Prometheus
    • Kubernetes & Docker
    • Zoomkeeper & Etcd
    • Redis
    • Distributed transaction
  • Design Patterns and Use Scenarios
    • Pattern to creating objects
    • Object Assembling
    • Object Interaction / Responsibility
  • Micro-service network / Gateway
    • Basic concept
    • Performance analysis & optimization
    • Open source techs
  • Systems
    • Distributed Priority Queue
    • Design a Live Video Streaming Platform
Powered by GitBook
On this page

System design interview steps & template

PreviousTopics 23NextTypical systems and tips

Last updated 1 year ago

Trade-offs:

  • CAP trade-off, availability vs consistency, Strong vs eventual consistency

    • Distributed database design, key-value design

  • Latency vs Throughput

  • ACID vs based database properties

  • Read-through and write-through case

  • Discovery service with gossip or centeraized metadata (bookkeeper)

Dive deep areas:

  • Potential bottlenecks of the system, like hot partition, scale

  • Potential failure cases: single node failure, network partition, split brain

  • Critical algorithms: consistent hashing, erasure coding, bloom filtering, geohashing, timeserial database

Common components for distributed basic services, like distributed key-value, database, message queue, streaming:

  • Load Balancer

  • API services / Control-plane: API service + authentication + authorization + metering + coordination with metadata service and placement service

  • Metadata service: metadata management, leader election, metadata caching

  • Placement service: decide the partition and entity placement logic

  • Workload management service: traffic movement, re-sharding, drain, block

  • Data-plane: cluster and nodes management, storage nodes + data caching, data migration, failure handling, data integrity,

Common components for distributed micro application service systems, like facebook, youtube, twiter, ticket systems

  • Load balancer

  • API services / Control-plane

  • Message Queue / Kafka Streaming

  • Distributed caching / local caching

  • Index builder to support better searching

  • Data Aggregator

  • CDN

Low level storage systems, like rocksDB, BDB, kafka file log:

https://artem.krylysov.com/blog/2023/04/19/how-rocksdb-works/