สถาปัตยกรรม API - การเรียกแบบซิงโครนัส อะซิงโครนัส และแบบขนาน
หลักสูตรเร่งรัดพร้อมอินโฟกราฟิกเกี่ยวกับความหมายเหล่านี้ และควรใช้เมื่อใด

พื้นหลัง
สิ่งสำคัญประการหนึ่งของการพัฒนา REST API คือวิธีที่ลูกค้าส่งคำขอและรับการตอบกลับ
ในส่วนนี้ ฉันจะอธิบาย 3 วิธีหลักในการส่งคำขอใน REST APIs - การเรียกแบบซิงโครนัส แบบอะซิงโครนัส และแบบขนาน
ฉันจะร่างข้อดีข้อเสียของแต่ละวิธีและเวลาที่จะใช้เพื่อให้ได้ประสิทธิภาพสูงสุด
การอ่านที่เกี่ยวข้อง
ฉันได้เขียนเกี่ยวกับการออกแบบ API ประสิทธิภาพ ความปลอดภัย การกำหนดเวอร์ชัน และแนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างไดอะแกรมของ API ตรวจสอบซีรีส์ของฉันที่ลิงก์ด้านล่างเพื่อเรียนรู้เพิ่มเติม!
การโทรแบบซิงโครนัส
การเรียกแบบซิงโครนัสเป็น วิธีการ ทั่วไปในการส่งคำขอใน REST API
ในการเรียกแบบซิงโครนัส แอปพลิเคชันไคลเอนต์จะส่งคำขอไปยังเซิร์ฟเวอร์และรอการตอบกลับก่อนที่จะดำเนินการขั้นตอนต่อไป ซึ่งหมายความว่าแอปพลิเคชันไคลเอนต์ถูกบล็อกจนกว่าจะได้รับการตอบกลับจากเซิร์ฟเวอร์
ข้อดี:
- การโทรแบบซิงโครนัสนั้นง่ายต่อการใช้งานและเข้าใจ
- มีประโยชน์สำหรับ แอปพลิเคชัน ขนาดเล็กที่มีปริมาณการรับส่งข้อมูลต่ำ
- การโทรแบบซิงโครนัสอาจช้าและไม่มีประสิทธิภาพโดยเฉพาะอย่างยิ่งสำหรับแอปพลิเคชันขนาดใหญ่ที่มีปริมาณการรับส่งข้อมูลสูง
- อาจทำให้เกิดปัญหาด้านประสิทธิภาพหากเซิร์ฟเวอร์ใช้เวลานานเกินไปในการตอบสนอง
- ใช้การโทรแบบซิงโครนัสเมื่อแอปพลิเคชันมีปริมาณการรับส่งข้อมูลต่ำหรือมีขนาดค่อนข้างเล็ก
- นอกจากนี้ยังมีประโยชน์สำหรับแอปพลิเคชันที่ไคลเอนต์ต้องรอการตอบกลับก่อนที่จะดำเนินการขั้นตอนต่อไป

การโทรแบบอะซิงโครนัส
การโทรแบบอะซิงโครนัสเป็นวิธีการสร้างคำขอที่แอปพลิเคชันไคลเอนต์ส่งคำขอไปยังเซิร์ฟเวอร์และทำงานอื่นๆ ต่อไปในขณะที่รอการตอบกลับ
ซึ่งหมายความว่าแอปพลิเคชันไคลเอ็นต์ไม่ถูกบล็อกขณะรอการตอบกลับจากเซิร์ฟเวอร์
ข้อดี:
- การโทรแบบอะซิงโครนัสนั้นเร็วกว่าและมีประสิทธิภาพมากกว่าการโทรแบบซิงโครนัส
- มีประโยชน์สำหรับ แอปพลิเคชัน ขนาดใหญ่ที่มีปริมาณการรับส่งข้อมูลสูง
- การโทรแบบอะซิงโครนัสมีความซับซ้อนในการใช้งานมากกว่าการโทรแบบซิงโครนัส
- อาจเป็นเรื่องยากที่จะแก้ไขข้อบกพร่องหากมีข้อผิดพลาดในคำขอหรือการตอบกลับ
- ใช้การโทรแบบอะซิงโครนัสเมื่อแอปพลิเคชันมีปริมาณการรับส่งข้อมูลสูงหรือมีขนาดค่อนข้างใหญ่
- นอกจากนี้ยังมีประโยชน์สำหรับแอปพลิเคชันที่ไคลเอนต์ไม่จำเป็นต้องรอการตอบกลับก่อนที่จะดำเนินการขั้นตอนต่อไป

การโทรแบบขนาน
การโทรแบบขนานเป็นวิธีการหนึ่งของการร้องขอหลายรายการพร้อมกัน
ในการเรียกแบบขนาน แอปพลิเคชันไคลเอนต์จะส่งคำขอหลายรายการไปยังเซิร์ฟเวอร์พร้อมกันและเซิร์ฟเวอร์ จะตอบกลับแต่ละคำขอทีละรายการ
ข้อดี:
- การโทรแบบคู่ขนานนั้นเร็วกว่าและมีประสิทธิภาพมากกว่าการโทรตามลำดับ
- มีประโยชน์สำหรับ แอปพลิเคชัน ขนาดใหญ่ที่มีปริมาณการรับส่งข้อมูลสูง
- การโทรแบบขนานอาจทำให้เกิดปัญหาด้านประสิทธิภาพหากเซิร์ฟเวอร์ไม่ได้รับการออกแบบให้รองรับหลายคำขอพร้อมกัน
- นอกจากนี้ยังอาจทำให้เกิดปัญหาหากมีการขึ้นต่อกันระหว่างคำขอ
- ใช้การโทรแบบคู่ขนานเมื่อแอปพลิเคชันมีปริมาณการรับส่งข้อมูลสูงหรือมีขนาดค่อนข้างใหญ่
- นอกจากนี้ยังมีประโยชน์สำหรับแอปพลิเคชันที่ไคลเอ็นต์ต้องการส่งคำขอหลายรายการพร้อมกัน

ปิดความคิด
ดังนั้น ทางเลือกในการเรียกแบบซิงโครนัส อะซิงโครนัส หรือแบบขนานใน API จึงขึ้นอยู่กับความต้องการเฉพาะของแอปพลิเคชัน
แม้ว่าการโทรแบบซิงโครนัสจะใช้งานได้ง่าย แต่อาจไม่เหมาะสำหรับแอปพลิเคชันขนาดใหญ่ที่ต้องการการสื่อสารที่รวดเร็วและมีประสิทธิภาพระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ การโทรแบบอะซิงโครนัสและแบบขนานให้ประสิทธิภาพและความสามารถในการปรับขนาดที่ดีกว่า แต่จำเป็นต้องมีการใช้งานขั้นสูงมากขึ้นและอาจมีความท้าทายเป็นของตัวเอง
สิ่งสำคัญคือต้องชั่งน้ำหนักข้อดีและข้อเสียของแต่ละวิธี และพิจารณาปริมาณการรับส่งข้อมูล ขนาดของแอปพลิเคชัน และประเภทของคำขอที่ต้องทำก่อนที่จะเลือกวิธีใดวิธีหนึ่ง
เมื่อเลือกวิธีการที่เหมาะสม ทีมวิศวกรรมสามารถมั่นใจได้ว่า API ของพวกเขาให้ประสิทธิภาพสูงสุด ความสามารถในการปรับขนาด และการตอบสนองสำหรับผู้ใช้ปลายทาง