Modul 02Penggal 1 · Asas9 item poster
Bagaimana Internet Sebenarnya Berfungsi
Log masuk untuk menyimpan kemajuan anda merentas peranti. Sehingga itu, ia disimpan dalam pelayar ini.
Mengapa ini penting
Kebanyakan bug produksi yang "misteri" sebenarnya isu rangkaian: perubahan DNS yang belum tersebar, sijil TLS yang sudah tamat tempoh, permintaan yang perlahan hanya untuk pengguna yang jauh. Anda tidak boleh debug sesuatu yang anda tidak dapat bayangkan.
Hasil pembelajaran
- Jejak satu permintaan dari pelayar ke pangkalan data dan kembali, dengan menamakan setiap hop.
- Terangkan resolusi DNS, TTL dan mengapa perubahan "mengambil masa."
- Terangkan TCP vs UDP dan apa yang diubah oleh HTTP/2 dan HTTP/3.
- Konfigurasikan TLS dengan betul dan sulitkan trafik dalaman.
- Ukur kependaman (latency) dengan betul: persentil, bukan purata.
Pelajaran
2.1 Kitaran hidup satu permintaan
Pelayar → carian DNS → sambungan TCP (atau QUIC) → TLS handshake → edge CDN → reverse proxy / load balancer → pelayan aplikasi → pangkalan data / cache / API pihak ketiga → kembali. Setiap hop menambah kependaman dan merupakan titik kegagalan.
2.2 DNS (97)
- Rekod: A/AAAA (alamat), CNAME (alias), MX (mel), TXT (pengesahan, SPF, DKIM, DMARC), CAA (CA mana yang boleh mengeluarkan sijil).
- TTL mengawal caching. Rendahkan TTL sehari sebelum migrasi, bukan semasa.
- Kegagalan biasa: domain tamat tempoh, CNAME salah, rekod e-mel tiada (mel masuk ke spam), gangguan penyedia DNS.
2.3 TCP vs UDP (98) dan versi HTTP (99)
- TCP: boleh dipercayai, tertib; satu paket yang hilang menahan semua yang di belakangnya (head-of-line blocking).
- UDP: tiada jaminan, overhead rendah; digunakan oleh video, suara, permainan, DNS dan QUIC.
- HTTP/1.1: satu permintaan pada satu masa bagi setiap sambungan.
- HTTP/2: banyak stream di-multiplex pada satu sambungan TCP; masih ada head-of-line blocking TCP.
- HTTP/3: berjalan di atas QUIC melalui UDP; stream bebas, handshake lebih pantas, bertahan apabila rangkaian bertukar (Wi-Fi ke data mudah alih). Biasanya anda dapat secara percuma daripada CDN anda.
2.4 TLS, encryption in transit (71, 73)
- Minimum TLS 1.2, utamakan TLS 1.3. Automasikan sijil (Let's Encrypt, atau platform anda).
- Header HSTS supaya pelayar tidak pernah turun taraf ke HTTP.
- Sulitkan trafik dalaman juga (aplikasi ke DB, servis ke servis). "Ia di dalam VPC kami" bukan satu kawalan.
- Sambungan pangkalan data: wajibkan SSL (
sslmode=requireatau lebih ketat).
2.5 Kependaman, throughput, persentil (91 hingga 94)
- Kependaman: masa untuk satu permintaan. Throughput: permintaan sesaat.
- Jangan sekali-kali melaporkan purata. Laporkan p50, p95, p99. Satu permintaan perlahan dalam 100 kedengaran jarang, tetapi halaman yang membuat 20 panggilan backend akan terkena p99 pada sebahagian besar muatan halaman. Itulah amplifikasi tail latency.
- Angka kasar yang patut diketahui setiap jurutera: round trip rangkaian dalam region yang sama kira-kira 1 ms atau kurang; Singapura ke US West kira-kira 170 ms round trip; panggilan LLM mengambil beberapa saat. Reka bentuk berdasarkan hop yang paling perlahan.
Lab 2: Jejak dan ukur
digdomain anda; rekodkan setiap rekod dan TTL. Tambah CAA dan semak SPF/DKIM/DMARC untuk domain mel anda.- Jalankan pemasaan
curl -w(dns, connect, tls, ttfb, total) terhadap aplikasi anda dari dua region. - Semak tetapan TLS anda dengan penggred TLS dalam talian; baiki sehingga gred A.
- Uji beban satu endpoint dengan k6 pada 10, 50, 100 pengguna maya; plotkan p50/p95/p99.
Definition of Done
Pek prompt AI
- "Tambah instrumentasi pemasaan yang me-log DNS, connect dan TTFB untuk setiap panggilan HTTP keluar."
- "Terangkan laluan permintaan aplikasi ini hop demi hop berdasarkan fail konfigurasi. Tandakan mana-mana hop tanpa TLS."