~/VibeHandbook
PDF ฟรี

บท 13 · 02

ศัพท์เทคนิคสองสามคำ ถอดรหัสให้แล้ว

  • Cold start (การเริ่มเครื่องเย็น) — เมื่อโค้ดไม่ได้รันมาสักพัก แพลตฟอร์มต้องปลุกมันขึ้นมา คำขอแรกนั้นจะช้ากว่า (เศษเสี้ยววินาทีไปจนถึงสองสามวินาที) ฟังก์ชันขอบเครือข่ายแทบไม่มีปัญหานี้ ฟังก์ชันเซิร์ฟเวอร์เลสบางครั้งก็มี ส่วนคอนเทนเนอร์และ ที่รันตลอดเวลาไม่มีปัญหานี้เลย สำหรับแอปส่วนใหญ่สิ่งนี้มองไม่เห็นเลย แต่สำหรับขั้นตอนการชำระเงินที่ต้องการความรวดเร็ว มันอาจสำคัญ
  • การขยายขนาด (Scaling) — การรองรับผู้ใช้จำนวนมากขึ้นโดยไม่ล่ม อัตโนมัติ (automatic) หมายถึงแพลตฟอร์มเพิ่มกำลังให้คุณเอง แบบมือ (manual) หมายถึงคุณต้องกดปุ่มเอง หรือไม่งั้นมันก็จะพังเมื่อโหลดสูง "Scales to zero" (ขยายลงถึงศูนย์) เป็นวลีที่เกี่ยวข้องที่คุณจะเห็นบ่อย: เมื่อไม่มีใครใช้แอปของคุณ มันจะไม่มีค่าใช้จ่ายเลย
  • สถานะ (State) — ข้อมูลที่ต้องคงอยู่ (ฐานข้อมูล ไฟล์ที่อัปโหลด เซสชันของผู้ใช้) เลเยอร์แบบสถิตและเซิร์ฟเวอร์เลสมักจะเป็น "stateless" — คือลืมทุกอย่างระหว่างคำขอ — ดังนั้นสถานะจึงอยู่ในฐานข้อมูลหรือบริการจัดเก็บข้อมูลแยกต่างหาก นี่คือเหตุผลที่แอปจริงเกือบทุกตัวคือ "การโฮสต์ของคุณบวกกับฐานข้อมูลที่ไหนสักแห่ง" ไม่ใช่กล่องวิเศษกล่องเดียว
  • ภูมิภาค (Region) — ส่วนไหนของโลกที่โค้ดและข้อมูลของคุณตั้งอยู่ทางกายภาพ มันส่งผลต่อความเร็ว (ใกล้กว่า = เร็วกว่า) และบางครั้งก็ส่งผลต่อกฎหมาย (ข้อมูลบางอย่างต้องอยู่ในประเทศใดประเทศหนึ่ง) สำหรับโปรเจกต์แรก เลือกภูมิภาคที่ใกล้ผู้ใช้ของคุณที่สุดแล้วก็เดินหน้าต่อ

นี่คือเส้นทางเดินทางทั้งหมดของคำขอ และแต่ละส่วนอาศัยอยู่ที่ไหน เบราว์เซอร์คุยกับขอบเครือข่ายที่อยู่ใกล้ ซึ่งจะส่งไฟล์ที่แคชไว้หรือปลุกโค้ดของคุณขึ้นมา ซึ่งจะไปติดต่อฐานข้อมูลสำหรับสิ่งที่มันต้องจำ:

   ┌─────────┐      ┌──────────────┐      ┌──────────────┐      ┌──────────┐
   │ BROWSER │ ───▶ │  EDGE / CDN  │ ───▶ │ SERVER CODE  │ ───▶ │ DATABASE │
   │  user   │      │  near user   │      │ function/box │      │  state   │
   └─────────┘      └──────────────┘      └──────────────┘      └──────────┘
        ▲                  │                      │                   │
        │   cache HIT      │      stateless       │   remembers       │
        └──────────────────┘   (forgets between   │   things          │
            fast reply          requests) ◀───────┘ ◀─────────────────┘

อยากได้แบบออฟไลน์?

ดาวน์โหลดหนังสือทั้งเล่มเป็น PDF หรือ EPUB — ฟรี