LEVEL 9
ডিস্ট্রিবিউটেড সিস্টেম
Distributed Systems
এই মডিউল যে প্রশ্নের উত্তর দেয়কেউ কারো উপর ভরসা করতে না পারলে, একদল computer কীভাবে একমত হয়?
Distributed system কঠিন কারণ তিনটা জিনিস একসাথে সত্য: message হারায়, node মরে, আর ঘড়ি মেলে না। এই module-এ আমরা দেখব এই তিন সমস্যা থেকেই consensus, replication, consistency model-এর জন্ম।
লেসন
এই মডিউলের লেসন এখনো লেখা হচ্ছে। নিচে যা যা থাকছে অংশে পুরো outline দেখতে পাচ্ছেন — সেই ক্রমেই কনটেন্ট আসবে।
যা যা থাকছে
- কেন distributed systems কঠিন — 8 fallacies
- Failure models — crash, omission, Byzantine
- Time — physical clocks, NTP, clock skew
- Logical clocks — Lamport, vector clocks
- Happens-before ও causality
- Consistency models — linearizability, sequential, causal, eventual
- CAP ও PACELC
- Replication — primary-backup, quorum, chain
- Leader election
- Consensus — Paxos-এর intuition
- Raft — leader election, log replication, safety
- Two-phase ও three-phase commit
- Distributed transactions ও saga
- Idempotency ও exactly-once-এর মিথ
- Message queues — Kafka, RabbitMQ model
- Event-driven architecture ও event sourcing
- Distributed locks ও তাদের বিপদ
- Gossip protocols ও CRDTs
- Sharding ও consistent hashing
- Distributed tracing
প্রজেক্ট
Vector Clock Library
●●●○○Concurrent event detect করা।
Raft Implementation
●●●●●Leader election + log replication, partition দিয়ে test।
Replicated KV Store
●●●●●Quorum read/write, tunable consistency।
Chaos Lab
●●●●○নিজের system-এ latency/partition inject করে behaviour দেখা।