Skip to content
← নোটস

সিস্টেম ডিজাইন: জিরো টু মাস্টারি

যিনি কখনো সিস্টেম ডিজাইন করেননি তার জন্য সম্পূর্ণ কারিকুলাম — এস্টিমেশন, স্টোরেজ, স্কেলিং, ফেইলিওর এবং ছয়টি পূর্ণাঙ্গ প্রজেক্ট ডিজাইন

0/28 অধ্যায় · 0 XP অর্জিত

  1. 00 System Design — রোডম্যাপ শূন্য থেকে শুরু। Estimation, storage, scaling, failure — আর ছয়টা পূর্ণাঙ্গ প্রজেক্ট ডিজাইন।
  2. 01 সিস্টেম ডিজাইন আসলে কী ডায়াগ্রাম আঁকা নয় — trade-off সামলানো। শব্দভাণ্ডার, চিন্তার কাঠামো, আর সাদা পাতা থেকে শুরু করার পদ্ধতি।
  3. 02 Requirements ও Constraints Functional বনাম non-functional, scale/latency/consistency/budget — একটা ঝাপসা দাবিকে প্রশ্ন করে স্পেসে নামানো।
  4. 03 Estimation — খাতা-কলমের হিসাব QPS, read/write ratio, storage growth, bandwidth, সার্ভার সংখ্যা — যে অঙ্কগুলো ডিজাইনের আকার ঠিক করে দেয়।
  5. 04 একটা রিকোয়েস্টের শরীরবৃত্ত DNS থেকে TLS, load balancer, app server, cache, database — প্রতিটা হপে কত সময় যায় আর কোথায় কী ভাঙে।
  6. 05 ডেটা স্টোর বেছে নেওয়া Relational, document, key-value, wide-column, search, object storage — ফ্যাশন দেখে নয়, access pattern দেখে।
  7. 06 Latency Numbers ও Percentile যে সংখ্যাগুলো মুখস্থ রাখতে হয়, কেন গড় মিথ্যা বলে, আর fan-out কীভাবে tail latency বিস্ফোরিত করে।
  8. 07 প্রজেক্ট: URL শর্টনার প্রথম পূর্ণাঙ্গ ডিজাইন — requirement থেকে estimation, key generation, schema, redirect hot path, caching আর scaling পর্যন্ত পুরো পথটা ধাপে ধাপে।
  9. 08 ক্যাশিং স্ট্র্যাটেজি ক্যাশ কোথায় বসে, কোন প্যাটার্নে লেখা-পড়া হয়, TTL আর invalidation কীভাবে ঠিক করবেন, আর hit ratio-র অর্থনীতি।
  10. 09 লোড ব্যালান্সিং আর স্টেটলেসনেস L4 বনাম L7, ব্যালান্সিং অ্যালগরিদম, health check-এর ফাঁদ, sticky session কেন খারাপ, আর SIGTERM থেকে exit পর্যন্ত একটা graceful deploy কীভাবে হয়।
  11. 10 ডেটাবেস স্কেলিং Index থেকে শুরু করে connection pool, read replica, vertical partitioning আর সবশেষে sharding — সস্তা কাজটা আগে করার ক্রমটাই এই চ্যাপ্টারের মূল শিক্ষা।
  12. 11 অ্যাসিনক্রোনাস কাজ আর কিউ কোন কাজটা রিকোয়েস্ট পাথ থেকে সরাবেন, queue না stream বাছবেন, আর worker-কে retry, idempotency ও dead-letter queue দিয়ে কীভাবে বিশ্বাসযোগ্য বানাবেন।
  13. 12 API কন্ট্রাক্ট আর ভার্সনিং রিসোর্স মডেলিং, HTTP ভোকাবুলারি, pagination, error envelope, rate limit, idempotent write আর কিছু না ভেঙে API বদলানোর নিয়ম।
  14. 13 কনসিস্টেন্সি আর CAP CAP আসলে কী বলে আর কী বলে না, PACELC-র সৎ হিসাব, consistency model-এর সিঁড়ি, quorum, conflict resolution আর isolation level — কোন ফিচারে ঠিক কতটুকু গ্যারান্টি সত্যিই দরকার।
  15. 14 প্রজেক্ট: সোশ্যাল ফিড রিকোয়ারমেন্ট থেকে শুরু করে fan-out, celebrity সমস্যা, ranking, caching আর শার্ডেড স্টোরেজ — একটা টাইমলাইন সিস্টেম পুরো ডিজাইন করা।
  16. 15 Distributed Coordination Leader election, lease ও fencing token, distributed lock-এর ফাঁদ, Raft consensus, আর ঘড়ির উপর ভরসা না করে ঘটনার ক্রম ঠিক রাখা।
  17. 16 Event-Driven আর্কিটেকচার ও CQRS Log-কে সত্যের উৎস বানানো, event sourcing, read model, cross-service workflow-এর জন্য saga, outbox প্যাটার্ন আর event schema-র ইভোলিউশন।
  18. 17 Search ও Ranking Inverted index, analysis ও tokenisation, BM25 relevance, indexing pipeline ও freshness lag, facet, আর text relevance ছাড়িয়ে ranking।
  19. 18 Observability ও SLO Metric, log ও trace কোনটা কীসের জন্য, RED ও USE method, SLI/SLO/error budget, উপসর্গে alert করা, আর বাস্তব সংকেত থেকে capacity planning।
  20. 19 ব্যর্থতার জন্য ডিজাইন Timeout ও retry storm, circuit breaker, bulkhead, backpressure ও load shedding, graceful degradation, আংশিক ব্যর্থতায় idempotency, আর blast-radius ভাবনা।
  21. 20 প্রজেক্ট: রাইড-হেইলিং ডিসপ্যাচ চলমান গাড়ির অবস্থান, geospatial index, matching-এর race condition, trip state machine, surge pricing-এর feedback loop আর region degrade হলে কী ভাঙে — advanced ব্যান্ডের capstone।
  22. 21 মাল্টি-রিজিয়ন আর্কিটেকচার একাধিক region-এ সিস্টেম ছড়ানো — active-passive থেকে active-active, replication lag, conflict resolution, failover আর split-brain ঠেকানোর পুরো গল্প।
  23. 22 সিকিউরিটি ও মাল্টি-টেন্যান্সি একই সিস্টেমে বহু tenant রেখে কীভাবে isolation, authorization, key management আর audit log এমনভাবে ডিজাইন করবেন যাতে একজনের ভুল আরেকজনকে ডোবায় না।
  24. 23 কস্ট ইঞ্জিনিয়ারিং আর্কিটেকচারকে বিল হিসেবে পড়তে শেখা — egress, storage class, idle capacity আর unit economics দিয়ে সিস্টেমের আসল দাম বের করা।
  25. 24 প্রজেক্ট: পেমেন্ট লেজার এমন একটা সিস্টেম ডিজাইন করা যেখানে availability-র চেয়ে correctness বড় — double-entry, exactly-once money movement, reconciliation আর provider ডাউন হলে কী হয়।
  26. 25 প্রজেক্ট: রিয়েল-টাইম কোলাবোরেটিভ এডিটর একসাথে অনেকে একই ডকুমেন্ট লিখলে কী হয় — OT বনাম CRDT, presence, snapshot, offline reconnect, আর room-গুলো সার্ভারের মধ্যে ভাগ করা।
  27. 26 প্রজেক্ট: চ্যাট ও প্রেজেন্স সিস্টেম WebSocket gateway, per-conversation sequence number, fan-out, read cursor, presence heartbeat আর reconnection protocol মিলিয়ে ৫০ কোটি মেসেজ/দিন সামলানো একটা চ্যাট সিস্টেম শূন্য থেকে ডিজাইন করা।
  28. 27 ডিজাইন রিভিউ প্লেবুক সাদা পাতা থেকে শুরু করে একটা ডিজাইন দাঁড় করানো, requirement বার করে আনা, ট্রেড-অফ আগে সামনে আনা, পড়ার মতো design doc লেখা, রিভিউ চালানো — আর একই পদ্ধতি ইন্টারভিউতে চালানো।