GraphQL - สถาปัตยกรรม

GraphQL เป็นข้อกำหนดที่อธิบายลักษณะการทำงานของเซิร์ฟเวอร์ GraphQL เป็นชุดของแนวทางในการจัดการคำขอและการตอบสนองเช่นโปรโตคอลที่รองรับรูปแบบของข้อมูลที่เซิร์ฟเวอร์ยอมรับได้รูปแบบของการตอบกลับที่เซิร์ฟเวอร์ส่งคืนเป็นต้นคำขอที่ไคลเอ็นต์ส่งไปยัง GraphQL เซิร์ฟเวอร์เรียกว่าแบบสอบถาม แนวคิดที่สำคัญอีกประการหนึ่งของ GraphQL คือ agnostics ชั้นการขนส่ง สามารถใช้กับโปรโตคอลเครือข่ายที่มีเช่น TCP, websocket หรือโปรโตคอลชั้นการขนส่งอื่น ๆ นอกจากนี้ยังเป็นกลางกับฐานข้อมูลดังนั้นคุณสามารถใช้กับฐานข้อมูลเชิงสัมพันธ์หรือฐานข้อมูล NoSQL ได้

GraphQL Server สามารถใช้งานได้โดยใช้วิธีใดก็ได้จากสามวิธีด้านล่าง -

  • เซิร์ฟเวอร์ GraphQL พร้อมฐานข้อมูลที่เชื่อมต่อ
  • เซิร์ฟเวอร์ GraphQL ที่รวมระบบที่มีอยู่
  • แนวทางไฮบริด

เซิร์ฟเวอร์ GraphQL พร้อมฐานข้อมูลที่เชื่อมต่อ

สถาปัตยกรรมนี้มีเซิร์ฟเวอร์ GraphQL ที่มีฐานข้อมูลในตัวและมักใช้กับโครงการใหม่ ๆ ในการรับแบบสอบถามเซิร์ฟเวอร์จะอ่านเพย์โหลดของคำขอและดึงข้อมูลจากฐานข้อมูล ซึ่งเรียกว่าการแก้ไขแบบสอบถาม การตอบสนองที่ส่งกลับไปยังไคลเอนต์เป็นไปตามรูปแบบที่ระบุในข้อกำหนด GraphQL อย่างเป็นทางการ

ในแผนภาพด้านบนเซิร์ฟเวอร์ GraphQL และฐานข้อมูลจะรวมอยู่ในโหนดเดียว ไคลเอนต์ (เดสก์ท็อป / มือถือ) สื่อสารกับเซิร์ฟเวอร์ GraphQL ผ่าน HTTP เซิร์ฟเวอร์ประมวลผลคำขอดึงข้อมูลจากฐานข้อมูลและส่งกลับไปยังไคลเอนต์

เซิร์ฟเวอร์ GraphQL รวมระบบที่มีอยู่

แนวทางนี้มีประโยชน์สำหรับ บริษัท ที่มีโครงสร้างพื้นฐานเดิมและ API ที่แตกต่างกัน GraphQL สามารถใช้เพื่อรวมไมโครเซอร์วิสโครงสร้างพื้นฐานเดิมและ API ของบุคคลที่สามในระบบที่มีอยู่

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

แนวทางไฮบริด

ในที่สุดเราสามารถรวมสองวิธีข้างต้นและสร้างเซิร์ฟเวอร์ GraphQL ในสถาปัตยกรรมนี้เซิร์ฟเวอร์ GraphQL จะแก้ไขคำขอใด ๆ ที่ได้รับ มันจะดึงข้อมูลจากฐานข้อมูลที่เชื่อมต่อหรือจาก API รวม สิ่งนี้แสดงในรูปด้านล่าง -