Lewati ke konten utama

C11 · Modul 02

Dari satu server ke banyak

43 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Memperbanyak server hanya bekerja bila status tidak tinggal di satu mesin: sesi, pembatas laju, cache lokal, berkas, jadwal, dan identitas klien dipindah ke tempat bersama atau dibawa klien dengan aman.
  • Skala horizontal dihitung dulu: N+1, porsi kapasitas yang hilang saat satu mesin mati, dan koneksi basis data total (mesin × pool).
  • Cara membagi permintaan menentukan latensi: dua pilihan acak hampir sebaik melihat semua server (2,61 lawan 10 kali waktu layanan pada utilisasi 90%).
  • Informasi beban yang basi membuat "kirim ke yang paling sepi" runtuh karena efek kawanan; keacakan adalah obatnya.
  • Liveness tidak menyentuh dependensi, readiness boleh; draining dan kebijakan deploy dihitung dengan hukum Little dan (n − 1)/n.

Sebelum mulai

±6 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: membandingkan skala vertikal dan horizontal dengan angka: kapasitas, ruang cadangan N+1, domain kegagalan, dan efek berganda pada koneksi basis data; menemukan status tersembunyi di layanan (sesi, pembatas laju, cache lokal, berkas lokal, identitas klien di balik proxy) dan memindahkannya agar layanan bisa diperbanyak; menulis PenyeimbangBeban dengan round_robin, koneksi_tersedikit, dan dua_pilihan, lalu mengukur beban dan latensinya di simulasi berbasis kejadian; menjelaskan power of two choices dengan model bola-ke-keranjang dan model supermarket (Azar dkk. 1999; Mitzenmacher 2001), dan mengapa informasi beban yang basi membuat least connections runtuh; merancang health check (live lawan ready), draining, dan rolling deploy, serta membaca konfigurasi penyeimbang beban terkelola.

Hasil lab: bagian 2 dokumen desain Tryout Nusantara (desain/02-lapisan-api.md): inventaris status, keputusan sesi, algoritma penyeimbang dengan bukti simulasi, spesifikasi health check; PenyeimbangBeban di nusantara.py. Semua contoh memakai pustaka standar Python 3.11–3.13; keacakan selalu berbenih (random.Random(42) atau benih lain yang disebut).

Istilah di modul ini (27)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 12 contoh kode
  • 7 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • contoh_c11_02_26.py
  • contoh_c11_02_91.py
  • contoh_c11_02_163.py
  • contoh_c11_02_361.py
  • contoh_c11_02_522.py
  • contoh_c11_02_887.py
  • contoh_c11_02_1041.py
  • contoh_c11_02_1078.py
  • contoh_c11_02_1113.py
  • contoh_c11_02_1658.py
  • contoh_c11_02_1746.py
  • contoh_c11_02_1983.py
  • test_c11_02_4.py
  • test_c11_02_3.py
  • test_c11_02_5.py
  • test_c11_02_1.py
  • test_c11_02_2.py
  • test_c11_02_6.py
  • test_c11_02_7.py