Distributed Systems
Bir mashinadagi dastur bilan o’nlab mashinaga tarqalgan tizim o’rtasida yer bilan osmoncha farq bor: tarmoq ishonchsiz, vaqt bir xil emas, mashinalar to’satdan o’ladi. Go bu sohada eng ko’p ishlatiladigan tillardan biri (Kubernetes, etcd, CockroachDB), shuning uchun bu mavzu biz uchun juda dolzarb.
Kitoblar
- Designing Data-Intensive Applications — Martin Kleppmann; bittagina kitob o’qisangiz shu — replikatsiya, partitioning, consistency va tranzaksiyalarni hayratlanarli aniqlik bilan tushuntiradi.
- Understanding Distributed Systems — Roberto Vitillo; DDIA og’irlik qilsa, xuddi shu mavzularni yengilroq beradigan zamonaviy kirish.
- Database Internals — Alex Petrov; storage engine’lar (B-tree, LSM-tree) va distributed database’lar ichida nima bo’layotganini ochadi.
- Distributed Systems — van Steen & Tanenbaum; muallif bepul tarqatadigan klassik akademik darslik, nazariy fundament uchun.
Kurs va maqolalar
- MIT 6.824 — Distributed Systems — dunyodagi eng yaxshi kurs, bepul video va laboratoriyalari Go’da (MapReduce va Raft’ni o’z qo’lingiz bilan yozasiz).
- Raft paper — Ongaro & Ousterhout; consensus’ning eng tushunarli izohi, raft.github.io vizualizatsiyasi bilan birga o’qing.
Yo’nalish: Understanding Distributed Systems yoki DDIA bilan boshlang, Database Internals bilan chuqurlashing, MIT 6.824 va Raft bilan nazariyani Go kodiga aylantiring.
Last updated on