2023-12-28•12 menit maca
Pambuka Desain Sistem
System DesignArchitectureBackend
Sinau konsep dhasar lan cara ngrancang sistem terdistribusi skala gedhe.
Pambuka Desain Sistem
Desain sistem penting kanggo nggawe aplikasi sing bisa terus berkembang. Iki konsep dhasare.
Konsep Utama
Skalabilitas
Skala vertikal: Tambah sumber daya ing mesin sing wis ana.
Skala horizontal: Tambah jumlah mesin.
Mbagi Beban
Bagi lalu lintas menyang sawetara server:
User → Load Balancer → Server 1
→ Server 2
→ Server 3
Cache
Simpen data sing kerep diakses:
- CDN: Aset statis.
- Redis/Memcached: Data aplikasi.
- Cache browser: Data ing sisih klien.
Database
Pilih miturut kabutuhan:
| Kabutuhan | Database |
|---|---|
| Data relasional | PostgreSQL |
| Skema fleksibel | MongoDB |
| Cache | Redis |
| Panelusuran | Elasticsearch |
| Analitik | ClickHouse |
Pola Desain
Microservices
Pecah sistem dadi layanan sing mandiri.
Arsitektur Adhedhasar Kedadeyan
Gunakake message queue kanggo komunikasi asinkron.
CQRS
Pisahake operasi maca lan nulis data.
Pitakon Wawancara sing Umum
- Rancang pemendek URL.
- Rancang feed Twitter.
- Rancang backend Uber.
- Rancang sistem chat.
Kesimpulan
Latihen ngrancang sistem. Miwiti saka kabutuhan, banjur pikirake cara ngembangake.