- Postback คืออะไร?: การส่งสัญญาณเกี่ยวกับการเกิดผลลัพธ์ไปยังสื่อโฆษณา โดยฝั่งสื่อจะรับสัญญาณนี้ไปใช้เพื่อทำแคมเปญให้เหมาะสมยิ่งขึ้น
- บทบาทของ Postback ใน Airbridge: ไม่ได้มีหน้าที่แค่ส่งสัญญาณไปยังสื่อโฆษณาเท่านั้น แต่ยังทำหน้าที่ส่งข้อมูลไปยังบริการ third party ด้วย เพราะในเชิงแนวคิดแล้วเป็นเทคโนโลยีเดียวกันคือ webhook
- ปัญหาที่ต้องแก้: ต่อจากนี้ต้องทำให้การเชื่อมต่อกับบริการอีกหลายพันรายการขึ้นไปทำได้ง่ายยิ่งขึ้น ซึ่งหมายความว่าระบบเชื่อมต่อต้องใช้งานได้ง่ายมาก
- ฟีเจอร์ที่ระบบเชื่อมต่อควรมี:
- ต้องสามารถส่งเฉพาะอีเวนต์ที่จำเป็นจากอีเวนต์ที่เก็บรวบรวมไว้ได้
- ต้องสามารถประกอบ HTTP payload ให้ตรงตาม API Spec ของเซิร์ฟเวอร์ปลายทางได้
- ปัญหาของระบบเดิม: แม้จะเคยสร้างระบบที่ทำงานตาม template ไว้ในระดับหนึ่งแล้ว แต่ทุกครั้งที่มีสิ่งที่ต้องพัฒนาเพิ่มก็จะเกิดต้นทุนในการบำรุงรักษา
- เทคโนโลยีหลัก
- Template Engine: สามารถจัดการเรื่อง filter, transform เป็นต้น ได้ด้วย template engine
- การแยกเซิร์ฟเวอร์สำหรับเรียก API: เนื่องจากต้องส่ง webhook จำนวนมากมาก จึงแยกเซิร์ฟเวอร์และพัฒนาด้วย Go เพื่อให้เรียก API ได้ด้วยต้นทุนที่ต่ำ
- สถาปัตยกรรมระบบโดยรวม
- การสื่อสารระหว่างเซิร์ฟเวอร์ใช้ kafka
- เซิร์ฟเวอร์สำหรับประกอบ webhook ที่มี business logic พัฒนาด้วย Python
- เซิร์ฟเวอร์สำหรับเรียก API พัฒนาด้วย Go
- log ของการเรียก API จะถูกเก็บกลับเข้าไปใน kafka และข้อมูลที่เก็บใน kakfa จะถูกบันทึกลง S3 ด้วย ทำให้สามารถอ่านข้อมูลย้อนหลังได้ในภายหลัง
- สิ่งที่อยากปรับปรุงเพิ่มเติมในอนาคต
- การนำ Graviton Instance มาใช้: เพื่อเป้าหมายในการลดต้นทุน
- การย้ายระบบไปยังภาษาใหม่: เช่นกัน เพื่อเป้าหมายในการลดต้นทุน
ยังไม่มีความคิดเห็น