10 คะแนน โดย xguru 2021-07-14 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • แม้จะใช้ WebHook เพื่อเชื่อมต่อการทำงานระหว่างระบบ

→ แต่มีปัญหาเมื่อเซิร์ฟเวอร์ล่ม และเพราะเป็นข้อมูลชั่วคราวจึงมีโอกาสประมวลผลผิดพลาดหรือสูญหายได้ง่าย

→ เพื่อลดปัญหาอาจบัฟเฟอร์ด้วย Kafka เป็นต้นได้ แต่ก็ยุ่งยาก

  • เสนอเอนด์พอยต์ '/events' เพื่อซิงก์ข้อมูลระหว่างสองระบบ
โฆษณา

→ เป็น API ที่ Stripe ใช้งานอยู่

→ สามารถดึงอีเวนต์ทั้งหมดเกี่ยวกับการสร้าง/แก้ไข/ลบ ในช่วง 30 วันที่ผ่านมาได้

→ ผ่านการ polling จึงดึงได้ในเวลาที่ต้องการ เท่าที่ต้องการ และดึงซ้ำได้หลายครั้ง

→ หากใช้ long polling ก็อาจช่วยลดภาระได้

5 ความคิดเห็น

 
haya0206 2021-07-14

เห็นว่าฝั่ง Twitch API ก็กำลังย้ายจาก webhook ไปเป็น EventSub เหมือนกัน น่าจะเป็นเทรนด์ล่ะมั้ง..

 
xguru 2021-07-14

การซิงก์ระหว่างสองระบบเป็นประเด็นที่ถูกพูดถึงและเปลี่ยนแปลงกันมาอย่างต่อเนื่องครับ (แถมยังมีข้อถกเถียงเยอะด้วย)

ผมว่ามันน่าสนใจดีเลยเอาลิงก์บทความเกี่ยวกับ API /events ของ Stripe มาลองโพสต์ดูครับ

ส่วนตัวผมไม่ค่อยชอบวิธีที่เพิ่มภาระให้เซิร์ฟเวอร์เท่าไร ก็เลยเฉย ๆ กับมันครับ..

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

 
yolatengo 2021-07-23

ผมก็ยังไม่ค่อยเข้าใจเหมือนกันว่า มันดีกว่าการใช้ mq อย่าง Kafka ตรงไหน...

 
xguru 2021-07-23

Kafka เหมาะกับระบบที่สามารถควบคุมได้ภายในกันเอง

แต่ดูเหมือนว่าที่นี่กำลังพูดถึงการทำให้การเข้าถึงและการเชื่อมต่อกับนักพัฒนาภายนอกหรือระบบภายนอกที่แยกออกไปนั้นง่ายตั้งแต่แรกเลย

 
yolatengo 2021-07-26

อ๋อ คงมีความต่างแบบนั้นอยู่สินะครับ 555 ถ้าเป็นเงื่อนไขที่ต้องสร้างระบบแบบเปิดก็เป็นอย่างนั้นแหละครับ

ขอบคุณครับ