Skip to content

System Design Blueprint

Published: at 12:03 PM

🟥 1. DNS Resolution (การแปลงชื่อโดเมนเป็น IP)

  1. User เข้าเว็บไซต์ เช่น พิมพ์ www.example.com ในเบราว์เซอร์
  2. Browser ตรวจสอบ DNS Cache ในเครื่อง ก่อน ว่าเคย resolve ไว้ไหม
  3. ถ้าไม่พบ → จะส่งคำร้องไปยัง Recursive Resolver ของ ISP หรือ DNS Server ที่กำหนด (เช่น 8.8.8.8 ของ Google)

🔄 ขั้นตอนการ resolve (ลึกลงไปในระบบ)

1. Root Server

2. TLD Server (.com)

3. Authoritative Name Server

4. Resolver ส่ง IP กลับให้ Browser

🔐 ประเภทของ DNS Records

📦 การ Caching DNS

เพื่อประหยัดเวลาและลดปริมาณการใช้งาน DNS Server:

⚠️ ข้อควรระวัง

🧠 สรุปภาพรวม

ขั้นตอนชื่อเซิร์ฟเวอร์หน้าที่
1Root Serverชี้ไปยัง TLD
2TLD Server (.com)ชี้ไปยัง Authoritative Server
3Authoritative Serverตอบ IP แท้จริงของโดเมน
4DNS Resolverส่ง IP กลับไปยัง client
5Browserนำ IP ไปเรียกเว็บ

⬛ 2. User Request Flow (เส้นทางของ Request)

  1. 🧑‍💻 ผู้ใช้ร้องขอ URL
  2. DNS Resolution ให้ IP —> IP ที่ได้จะเป็นของ CDN หรือ Load Balancer —> จากนั้น browser เริ่มสร้าง TCP หรือ HTTPS Connection ไปยังปลายทาง
  3. 🚦 ISP → CDN หรือ Load Balancer —> ถ้าโดเมนใช้ CDN (เช่น Cloudflare, CloudFront) ผู้ใช้จะเชื่อมต่อกับ edge server ที่ใกล้ที่สุด
  4. Load Balancer (L4 หรือ L7) -ตรวจสอบว่า service ไหนควรรับคำร้องนี้ เช่น:
    • Static content → Frontend Server / CDN
    • Dynamic content → Backend Server
  5. 🖥️ Frontend Server ในบางระบบอาจมี SSR (Server Side Rendering) เพื่อเร่งผลลัพธ์ จัดการ rendering หน้า HTML หรือส่ง frontend assets (React/Vue)
  6. Backend Processing
  7. Response กลับถึงผู้ใช้

📊 Diagram (สรุป Flow)

User Browser


DNS Resolution 


CDN / Load Balancer


Frontend Server (ส่ง HTML/JS)


API Request → API Gateway → Backend Service


Database / Cache / Auth


Response → Gateway → Load Balancer → Browser

🔵 3. Load Balancing (กระจายโหลด)

3.1 API Gateway

Client

Load Balancer (L7)

API Gateway (เช่น Kong, NGINX, API Gateway ของ AWS)

Backend Services (เช่น Auth, Order, Payment)

3.2 Load Balancer

3.3 Frontend Servers

3.4 CDN / Edge Servers


🟣 4. Backend Servers (เซิร์ฟเวอร์หลักของระบบ)


🟩 5. Upload Media (อัปโหลดไฟล์สื่อ)


🟨 6. Common Fan-Out Services (บริการกระจายงาน)


🟫 7. Data Layer (ชั้นข้อมูล)

7.1 In-memory Cache

7.2 Database (SQL / NoSQL)


✅ สรุปแนวคิดหลักของระบบ


Previous Post
Software Architecture Styles Usecase
Next Post
ตีความ Bible