ความเกี่ยวข้องระหว่าง Microservice และ API Gateway
2 พ.ค. 2567
0
นานาสาระน่ารู้
Microservice คือสถาปัตยกรรมซอฟต์แวร์ที่แบ่งระบบหรือแอปพลิเคชันออกเป็นหน่วยย่อย ๆ ที่เรียกว่า “บริการ” (services) ซึ่งแต่ละบริการมีความสามารถเฉพาะและทำงานอิสระจากกัน โดยมีการเชื่อมต่อกันผ่านระบบ API หรือโปรโตคอลต่าง ๆ
คุณสมบัติหลักของ Microservice:
- แยกส่วนกันอย่างอิสระ: แต่ละบริการสามารถพัฒนา, ทดสอบ, ปรับปรุง หรือปรับขยายได้อย่างอิสระ โดยไม่กระทบต่อบริการอื่น
- การสื่อสารผ่าน API: บริการแต่ละตัวสื่อสารกันผ่านโปรโตคอลเครือข่าย เช่น HTTP/REST, gRPC หรือ WebSocket
- การปรับขยาย (Scalability): สามารถปรับขยายเฉพาะบริการที่มีความต้องการสูงโดยไม่ต้องปรับขยายทั้งระบบ
- การจัดการเทคโนโลยีหลากหลาย: แต่ละบริการสามารถใช้ภาษาโปรแกรม, ฐานข้อมูล หรือเทคโนโลยีอื่น ๆ ที่แตกต่างกันได้
- การพัฒนาแบบอิสระ: ทีมพัฒนาสามารถทำงานบนบริการต่าง ๆ ได้พร้อมกัน โดยไม่ต้องรอการปรับปรุงส่วนอื่น ๆ ของระบบ
ความเกี่ยวข้องระหว่าง Microservice และ API Gateway:
เมื่อใช้สถาปัตยกรรม Microservice แต่ละบริการจะทำงานเป็นอิสระ และมี API ของตัวเอง แต่เมื่อมีหลาย ๆ บริการ ไคลเอนต์จะต้องเรียก API หลายจุดเพื่อดึงข้อมูลจากบริการต่าง ๆ ส่งผลให้การจัดการและการเชื่อมต่อกับ Backend มีความซับซ้อน ดังนั้น API Gateway จึงเข้ามาช่วยจัดการปัญหานี้ โดยทำหน้าที่เป็น ตัวกลาง (entry point) ระหว่างไคลเอนต์และบริการ Backend หลาย ๆ ตัวที่อยู่ในระบบ Microservice:
- รวม API หลาย ๆ ตัวให้เป็นหนึ่งเดียว: API Gateway ช่วยรวมการเรียกใช้งาน API ของหลายบริการ Microservice ผ่านทางจุดเดียว ซึ่งทำให้ไคลเอนต์ไม่ต้องสื่อสารกับหลายจุดที่แตกต่างกัน
- การจัดการเส้นทาง (Routing): API Gateway จะจัดการเส้นทางของคำขอ (request) จากไคลเอนต์ไปยังบริการ Backend ที่เหมาะสมในระบบ Microservice
- การจัดการความปลอดภัย: API Gateway ช่วยตรวจสอบสิทธิ์, การควบคุมสิทธิ์การเข้าถึง และการจำกัดการใช้งานในระดับ API ให้กับบริการต่าง ๆ ได้
- การรวมข้อมูล (Service Aggregation): ไคลเอนต์สามารถส่งคำขอเพียงครั้งเดียวไปที่ API Gateway แล้ว Gateway จะทำการเรียกหลาย ๆ บริการพร้อมกัน และรวมผลลัพธ์มาให้ไคลเอนต์ในคำตอบเดียว
- ปรับปรุงประสิทธิภาพ (Optimization): API Gateway ช่วยบีบอัดข้อมูล, แคชคำขอ, และลดการโหลดบน Backend ช่วยให้ระบบทำงานได้อย่างมีประสิทธิภาพมากขึ้น
ประโยชน์ของการใช้ API Gateway กับ Microservice:
- ลดความซับซ้อนในการจัดการหลายบริการ
- ช่วยในการควบคุมและรักษาความปลอดภัยในระดับ API
- ช่วยในเรื่องการเพิ่มประสิทธิภาพและการสเกลระบบได้ดีขึ้น
2 พ.ค. 2567
0
แชร์หน้านี้: