Distributed Systems บน kaen-kvstore — Rust Systems III
ต่อจาก Rust Systems II (#22): คราวนี้เราไม่ได้สร้าง node เดียวอีกต่อไป — เราเลื่อน kaen-kvstore ขึ้นเป็น "cluster" ที่หลาย replica เก็บสำเนา key เดียวกัน แล้วยังลู่เข้าหาค่าเดียวกันได้แม้เครือข่ายจะขาด ด้วยภาษาแกน + std เท่านั้น ไม่มี serde ไม่มี tokio ไม่มี proptest (เราเขียน splitmix64 เองเป็นแหล่งสุ่มที่ seed ซ้ำได้ 100% และใช้ std SipHash) เริ่มจากเวลาเชิงตรรกะ (Lamport → vector clock) → วางข้อมูลด้วย consistent hashing + virtual node → รับประกันการทับกันด้วย quorum W+R>N + read-repair → ทำให้ replica ลู่เข้าเองด้วย CRDT (semilattice, G-Counter, LWW-Register, OR-Set) → ซ่อม divergence เบื้องหลังด้วย Merkle tree + gossip → พิสูจน์สมบัติแบบกระจายด้วย harness ที่ "ฉีด partition" แบบ deterministic (seed คงที่ + hard timeout) → ปิดท้ายด้วย capstone ที่ประกอบ N replica จริงบน std::net เราสอนเฉพาะส่วนที่ property-test ได้จริง ส่วน consensus/Raft คงไว้เป็น "กล่องไดอะแกรม" อย่างซื่อสัตย์ ทุกโปรแกรม compile และรันได้จริง เป็นคอร์สที่สามของเสา Systems (#21→#22→#23) ก่อนที่ #24 จะเปิด async ecosystem ต่อ 8 บทลงมือจริง