บทความ

เว็บฮุคคืออะไรและคุณใช้อย่างไร?

Webhooks อนุญาตให้แอปพลิเคชันบนเว็บโต้ตอบผ่านการใช้การโทรกลับที่กำหนดเอง

การใช้ webhooks ช่วยให้เว็บแอปพลิเคชันสามารถสื่อสารกับเว็บแอปอื่นๆ ได้โดยอัตโนมัติ

ไม่เหมือนกับระบบดั้งเดิมที่ระบบหนึ่ง (อาสาสมัคร) คอยสำรวจข้อมูลบางอย่างจากอีกระบบหนึ่ง (ผู้สังเกตการณ์) เว็บฮุคช่วยให้ผู้สังเกตการณ์ส่งข้อมูลเข้าสู่ระบบของอาสาสมัครโดยอัตโนมัติทุกครั้งที่มีเหตุการณ์เกิดขึ้น

ซึ่งช่วยลดความจำเป็นในการตรวจสอบอย่างต่อเนื่องโดยตัวแบบ Webhooks ทำงานทั้งหมดบนอินเทอร์เน็ต ดังนั้นการสื่อสารทั้งหมดระหว่างระบบจะต้องเกิดขึ้นในรูปแบบของข้อความ HTTP

การใช้เว็บฮุค

Webhooks อาศัยการมีอยู่ของ URL แบบสแตติกที่ชี้ไปยัง API ในระบบของผู้สังเกตการณ์ ซึ่งจำเป็นต้องได้รับการแจ้งเตือนเมื่อมีเหตุการณ์เกิดขึ้นในระบบของผู้สังเกตการณ์ ตัวอย่างนี้จะเป็นเว็บแอปที่ออกแบบมาเพื่อรวบรวมและจัดการคำสั่งซื้อทั้งหมดที่ดำเนินการในบัญชี Amazon ของผู้ใช้ ในสถานการณ์นี้ Amazon ทำหน้าที่เป็นผู้สังเกตการณ์และ Custom Order Management Webapp ทำหน้าที่เป็นหัวเรื่อง

แทนที่จะให้เว็บแอปแบบกำหนดเองเรียก API ของ Amazon เป็นระยะๆ เพื่อตรวจสอบคำสั่งซื้อที่สร้างขึ้น เว็บฮุคที่สร้างในเว็บแอพแบบกำหนดเองจะอนุญาตให้ Amazon ส่งคำสั่งซื้อที่สร้างขึ้นใหม่ในเว็บแอพผ่าน URL ที่ลงทะเบียนโดยอัตโนมัติ ดังนั้น เพื่อเปิดใช้งานการใช้เว็บฮุค หัวข้อต้องมี URL ที่กำหนดซึ่งยอมรับการแจ้งเตือนเหตุการณ์จากผู้สังเกตการณ์ ซึ่งช่วยลดภาระที่สำคัญในอ็อบเจ็กต์ เนื่องจากมีการเรียก HTTP ระหว่างสองฝ่ายเมื่อมีเหตุการณ์เกิดขึ้นเท่านั้น

ระบบที่ใช้การสำรวจเทียบกับระบบที่ใช้เว็บฮุค

เมื่อผู้สังเกตการณ์เรียกเว็บฮุคของเรื่องแล้ว อาสาสมัครสามารถดำเนินการที่เหมาะสมกับข้อมูลที่ส่งใหม่นี้ โดยทั่วไปแล้ว เว็บฮุคจะทำผ่านคำขอ POST ไปยัง URL เฉพาะ คำขอ POST ช่วยให้คุณส่งข้อมูลเพิ่มเติมไปยังวัตถุได้ นอกจากนี้ยังสามารถใช้เพื่อระบุเหตุการณ์ต่างๆ ที่เป็นไปได้ แทนที่จะสร้าง URL ของเว็บฮุคแยกต่างหากสำหรับแต่ละเหตุการณ์

ขั้นตอนการทำงานของเว็บฮุค

หากต้องการติดตั้งเว็บฮุคขาเข้าในแอปพลิเคชันของคุณ คุณต้องทำตามขั้นตอนพื้นฐานต่อไปนี้:

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

Webhooks เทียบกับ API

ทั้งเว็บฮุคและ API มีเป้าหมายในการสร้างการสื่อสารระหว่างแอปพลิเคชัน อย่างไรก็ตาม มีข้อดีและข้อเสียที่แตกต่างกันบางประการของการใช้ Webhooks ผ่าน API เพื่อให้เกิดการรวมแอปพลิเคชัน

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

Webhooks มีแนวโน้มที่จะเป็นโซลูชันที่ดีกว่าหากประเด็นต่อไปนี้เกี่ยวข้องกับระบบที่ใช้งานมากขึ้น:

  • หากข้อมูลได้รับการอัปเดตบนเซิร์ฟเวอร์บ่อยครั้ง เว็บฮุคมักจะเป็นโซลูชันที่ดีกว่าเนื่องจากการเรียก API ที่ไม่จำเป็นจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์จะถูกตัดออก จากข้อมูลของ resthooks.com การสำรวจ API 98,5% สูญเปล่า
  • Webhooks เปิดใช้งานโซลูชันที่ดีกว่าสำหรับระบบที่ต้องการการอัปเดตข้อมูลแบบเกือบเรียลไทม์ โดยทั่วไปการสำรวจความคิดเห็นของ API จะทำงานตามช่วงเวลาที่กำหนด ซึ่งอาจทำให้ไม่สามารถอัปเดตข้อมูลตามเวลาจริงได้ เมื่อใช้เว็บฮุค การอัปเดตจะถูกส่งจากเซิร์ฟเวอร์ไปยังไคลเอนต์ทันทีที่เปิดเว็บฮุค

ควรใช้ API แทนเว็บฮุคในบางสถานการณ์

สิ่งที่ต้องพิจารณา

สิ่งสำคัญที่ควรพิจารณาสำหรับการใช้ API บน Webhooks คือ:

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

เพื่อจัดการกับความเป็นไปได้ที่จะสูญเสียข้อมูลที่ส่งจากเซิร์ฟเวอร์เมื่อเว็บฮุคออฟไลน์ คุณสามารถใช้คิวการส่งข้อความเหตุการณ์เพื่อเก็บถาวรการโทรเหล่านั้น ตัวอย่างของแพลตฟอร์มที่มีฟังก์ชันดังกล่าว ได้แก่ RabbitMQ o Simple Queue Service (SQS) ของ Amazon ทั้งคู่ได้รับการออกแบบเพื่อใช้เป็นสื่อกลางในการจัดเก็บข้อความซึ่งหลีกเลี่ยงความเป็นไปได้ที่จะขาดการเรียกเว็บฮุค

Ercole Palmeri

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

บทความล่าสุด

การชำระเงินออนไลน์: นี่คือวิธีที่บริการสตรีมมิ่งทำให้คุณชำระเงินตลอดไป

ผู้คนนับล้านชำระค่าบริการสตรีมมิ่ง โดยจ่ายค่าธรรมเนียมการสมัครสมาชิกรายเดือน เป็นความเห็นทั่วไปที่คุณ...

29 2024 เมษายน

Veeam มีการสนับสนุนแรนซัมแวร์ที่ครอบคลุมที่สุด ตั้งแต่การป้องกันไปจนถึงการตอบสนองและการกู้คืน

Coveware by Veeam จะยังคงให้บริการตอบสนองต่อเหตุการณ์การขู่กรรโชกทางไซเบอร์ต่อไป Coveware จะนำเสนอความสามารถในการนิติเวชและการแก้ไข...

23 2024 เมษายน

การปฏิวัติสีเขียวและดิจิทัล: การบำรุงรักษาเชิงคาดการณ์กำลังเปลี่ยนแปลงอุตสาหกรรมน้ำมันและก๊าซอย่างไร

การบำรุงรักษาเชิงคาดการณ์กำลังปฏิวัติภาคส่วนน้ำมันและก๊าซ ด้วยแนวทางเชิงรุกและนวัตกรรมในการจัดการโรงงาน...

22 2024 เมษายน

หน่วยงานกำกับดูแลการต่อต้านการผูกขาดของสหราชอาณาจักรส่งสัญญาณเตือน BigTech เกี่ยวกับ GenAI

UK CMA ได้ออกคำเตือนเกี่ยวกับพฤติกรรมของ Big Tech ในตลาดปัญญาประดิษฐ์ ที่นั่น…

18 2024 เมษายน

อ่านนวัตกรรมในภาษาของคุณ

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

ติดตามเรา