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