ขอ `/events` แทน Webhook
(blog.syncinc.so)- แม้จะใช้ WebHook เพื่อเชื่อมต่อการทำงานระหว่างระบบ
→ แต่มีปัญหาเมื่อเซิร์ฟเวอร์ล่ม และเพราะเป็นข้อมูลชั่วคราวจึงมีโอกาสประมวลผลผิดพลาดหรือสูญหายได้ง่าย
→ เพื่อลดปัญหาอาจบัฟเฟอร์ด้วย Kafka เป็นต้นได้ แต่ก็ยุ่งยาก
- เสนอเอนด์พอยต์ '/events' เพื่อซิงก์ข้อมูลระหว่างสองระบบ
→ เป็น API ที่ Stripe ใช้งานอยู่
→ สามารถดึงอีเวนต์ทั้งหมดเกี่ยวกับการสร้าง/แก้ไข/ลบ ในช่วง 30 วันที่ผ่านมาได้
→ ผ่านการ polling จึงดึงได้ในเวลาที่ต้องการ เท่าที่ต้องการ และดึงซ้ำได้หลายครั้ง
→ หากใช้ long polling ก็อาจช่วยลดภาระได้
5 ความคิดเห็น
เห็นว่าฝั่ง Twitch API ก็กำลังย้ายจาก webhook ไปเป็น EventSub เหมือนกัน น่าจะเป็นเทรนด์ล่ะมั้ง..
การซิงก์ระหว่างสองระบบเป็นประเด็นที่ถูกพูดถึงและเปลี่ยนแปลงกันมาอย่างต่อเนื่องครับ (แถมยังมีข้อถกเถียงเยอะด้วย)
ผมว่ามันน่าสนใจดีเลยเอาลิงก์บทความเกี่ยวกับ API
/eventsของ Stripe มาลองโพสต์ดูครับส่วนตัวผมไม่ค่อยชอบวิธีที่เพิ่มภาระให้เซิร์ฟเวอร์เท่าไร ก็เลยเฉย ๆ กับมันครับ..
แต่สำหรับ Stripe ที่เก็บข้อมูลการชำระเงินสำคัญซึ่งพลาดไม่ได้ ผมก็คิดว่านี่อาจเป็นวิธีที่ช่วยเพิ่มความน่าเชื่อถือของข้อมูลได้เหมือนกันครับ
ผมก็ยังไม่ค่อยเข้าใจเหมือนกันว่า มันดีกว่าการใช้ mq อย่าง Kafka ตรงไหน...
Kafka เหมาะกับระบบที่สามารถควบคุมได้ภายในกันเอง
แต่ดูเหมือนว่าที่นี่กำลังพูดถึงการทำให้การเข้าถึงและการเชื่อมต่อกับนักพัฒนาภายนอกหรือระบบภายนอกที่แยกออกไปนั้นง่ายตั้งแต่แรกเลย
อ๋อ คงมีความต่างแบบนั้นอยู่สินะครับ 555 ถ้าเป็นเงื่อนไขที่ต้องสร้างระบบแบบเปิดก็เป็นอย่างนั้นแหละครับ
ขอบคุณครับ