หน้าแรก คลังความรู้ คลังความรู้ นานาสาระน่ารู้ ความเกี่ยวข้องระหว่าง Microservice และ API Gateway
ความเกี่ยวข้องระหว่าง Microservice และ API Gateway
2 พ.ค. 2567
0
นานาสาระน่ารู้

Microservice คือสถาปัตยกรรมซอฟต์แวร์ที่แบ่งระบบหรือแอปพลิเคชันออกเป็นหน่วยย่อย ๆ ที่เรียกว่า “บริการ” (services) ซึ่งแต่ละบริการมีความสามารถเฉพาะและทำงานอิสระจากกัน โดยมีการเชื่อมต่อกันผ่านระบบ API หรือโปรโตคอลต่าง ๆ

คุณสมบัติหลักของ Microservice:

  1. แยกส่วนกันอย่างอิสระ: แต่ละบริการสามารถพัฒนา, ทดสอบ, ปรับปรุง หรือปรับขยายได้อย่างอิสระ โดยไม่กระทบต่อบริการอื่น
  2. การสื่อสารผ่าน API: บริการแต่ละตัวสื่อสารกันผ่านโปรโตคอลเครือข่าย เช่น HTTP/REST, gRPC หรือ WebSocket
  3. การปรับขยาย (Scalability): สามารถปรับขยายเฉพาะบริการที่มีความต้องการสูงโดยไม่ต้องปรับขยายทั้งระบบ
  4. การจัดการเทคโนโลยีหลากหลาย: แต่ละบริการสามารถใช้ภาษาโปรแกรม, ฐานข้อมูล หรือเทคโนโลยีอื่น ๆ ที่แตกต่างกันได้
  5. การพัฒนาแบบอิสระ: ทีมพัฒนาสามารถทำงานบนบริการต่าง ๆ ได้พร้อมกัน โดยไม่ต้องรอการปรับปรุงส่วนอื่น ๆ ของระบบ

ความเกี่ยวข้องระหว่าง Microservice และ API Gateway:

เมื่อใช้สถาปัตยกรรม Microservice แต่ละบริการจะทำงานเป็นอิสระ และมี API ของตัวเอง แต่เมื่อมีหลาย ๆ บริการ ไคลเอนต์จะต้องเรียก API หลายจุดเพื่อดึงข้อมูลจากบริการต่าง ๆ ส่งผลให้การจัดการและการเชื่อมต่อกับ Backend มีความซับซ้อน ดังนั้น API Gateway จึงเข้ามาช่วยจัดการปัญหานี้ โดยทำหน้าที่เป็น ตัวกลาง (entry point) ระหว่างไคลเอนต์และบริการ Backend หลาย ๆ ตัวที่อยู่ในระบบ Microservice:

  1. รวม API หลาย ๆ ตัวให้เป็นหนึ่งเดียว: API Gateway ช่วยรวมการเรียกใช้งาน API ของหลายบริการ Microservice ผ่านทางจุดเดียว ซึ่งทำให้ไคลเอนต์ไม่ต้องสื่อสารกับหลายจุดที่แตกต่างกัน
  2. การจัดการเส้นทาง (Routing): API Gateway จะจัดการเส้นทางของคำขอ (request) จากไคลเอนต์ไปยังบริการ Backend ที่เหมาะสมในระบบ Microservice
  3. การจัดการความปลอดภัย: API Gateway ช่วยตรวจสอบสิทธิ์, การควบคุมสิทธิ์การเข้าถึง และการจำกัดการใช้งานในระดับ API ให้กับบริการต่าง ๆ ได้
  4. การรวมข้อมูล (Service Aggregation): ไคลเอนต์สามารถส่งคำขอเพียงครั้งเดียวไปที่ API Gateway แล้ว Gateway จะทำการเรียกหลาย ๆ บริการพร้อมกัน และรวมผลลัพธ์มาให้ไคลเอนต์ในคำตอบเดียว
  5. ปรับปรุงประสิทธิภาพ (Optimization): API Gateway ช่วยบีบอัดข้อมูล, แคชคำขอ, และลดการโหลดบน Backend ช่วยให้ระบบทำงานได้อย่างมีประสิทธิภาพมากขึ้น

 

ประโยชน์ของการใช้ API Gateway กับ Microservice:

  • ลดความซับซ้อนในการจัดการหลายบริการ
  • ช่วยในการควบคุมและรักษาความปลอดภัยในระดับ API
  • ช่วยในเรื่องการเพิ่มประสิทธิภาพและการสเกลระบบได้ดีขึ้น
2 พ.ค. 2567
0
แชร์หน้านี้: