ทำความรู้จัก API Gateway
1 พ.ค. 2567
0
นานาสาระน่ารู้
API Gateway ทำหน้าที่การจัดการกับ Request ต่าง ๆ ที่พยายามที่จะเข้ามาเรียกใช้งาน Service ของระบบผ่าน API มีบทบาทสำคัญในการคัดกรองและจัดการ Request ต่าง ๆ ที่เข้ามา เหมาะกับการใช้งานในสถาปัตยกรรม Microservices ซึ่งมีการกระจายบริการ Backend หลาย ๆ ตัว โดย API Gateway จะช่วยควบคุมและจัดการการเรียกใช้งานได้อย่างมีประสิทธิภาพ
คุณสมบัติของ API Gateway:
- Single Entry Point : API Gateway ช่วยรวมการเข้าถึง API หลาย ๆ ตัวไว้ในที่เดียว ทำให้ไคลเอนต์สามารถสื่อสารกับ Backend หลายบริการได้ผ่าน API Gateway เพียงแห่งเดียว ไม่จำเป็นต้องเรียกใช้งาน API หลาย ๆ อันโดยตรง
- Routing : API Gateway จะทำหน้าที่ส่งคำขอ (request) จากไคลเอนต์ไปยังบริการ Backend ที่เหมาะสม โดยจัดการเส้นทางที่ไคลเอนต์ต้องการใช้งาน
- Protocol Translation : API Gateway สามารถแปลงรูปแบบคำขอหรือโปรโตคอลระหว่างไคลเอนต์กับ Backend ได้ เช่น การแปลงจาก REST API เป็น gRPC หรือ WebSocket
- Security : API Gateway รองรับการตรวจสอบสิทธิ์ (authentication), การควบคุมสิทธิ์การเข้าถึง (authorization), การจัดการ SSL/TLS และการจำกัดอัตราการใช้งาน (rate limiting)
- Caching : API Gateway สามารถช่วยเพิ่มประสิทธิภาพโดยการแคชข้อมูล หรือบีบอัดคำขอ/คำตอบเพื่อลดภาระการส่งข้อมูล
- Logging & Monitoring : ช่วยให้สามารถติดตามการเรียกใช้งาน API ได้อย่างละเอียด เช่น การบันทึกการเรียกใช้ การตรวจสอบประสิทธิภาพ และการแก้ไขปัญหา
- Load Balancing : ช่วยกระจายคำขอไปยังเซิร์ฟเวอร์ Backend หลาย ๆ ตัวเพื่อรองรับการโหลดสูง ๆ
ข้อดีของการใช้ API Gateway:
- เพิ่มความยืดหยุ่น: การเปลี่ยนแปลง Backend สามารถทำได้โดยไม่กระทบกับไคลเอนต์ เพราะคำขอทั้งหมดถูกจัดการผ่าน API Gateway
- Service Aggregation : ไคลเอนต์สามารถทำคำขอครั้งเดียวเพื่อเรียกหลาย ๆ บริการใน Backend และรับผลลัพธ์ที่ถูกรวมมาในคำตอบเดียว
- การจัดการ API ง่ายขึ้น: การจัดการการเข้าถึงและความปลอดภัยเป็นศูนย์กลางช่วยให้จัดการ API ทั้งหมดได้จากจุดเดียว
ตัวอย่าง API Gateway ที่นิยมใช้:
- AWS API Gateway: เป็นบริการที่ AWS ให้บริการสำหรับการจัดการและเชื่อมต่อ API กับบริการต่าง ๆ ในระบบ Cloud
- Kong: เป็น API Gateway ที่ได้รับความนิยม สามารถขยายการทำงานได้ผ่านปลั๊กอินต่าง ๆ และรองรับหลายโปรโตคอล
- NGINX: นอกจากเป็น Web Server แล้วยังมีส่วน API Gateway เพื่อใช้ในการจัดการและปรับแต่ง API ต่าง ๆ
- Google Cloud Endpoints: เป็น API Gateway สำหรับเชื่อมต่อกับบริการบน Google Cloud
1 พ.ค. 2567
0
แชร์หน้านี้: