วิธีการทำงานของระบบ
ทำความเข้าใจภาพรวมการรับและส่งข้อมูล (Data Flow) ภายใน RawPush Platform เพื่อการออกแบบแอปพลิเคชันของคุณที่สมบูรณ์แบบ
🏗️ Architecture Flow
🔄 3 รูปแบบการส่งข้อมูล
1. Client → Server (REST API)
วิธีการที่ปลอดภัยที่สุดและเป็นมาตรฐานสากล แนะนำให้ใช้สำหรับระบบที่ต้องการความแม่นยำและควบคุมสิทธิ์
- End-user บันทึกข้อมูลหรือเรียกส่งคำขอมายัง Backend ของคุณ (ผ่าน REST API ตัวเดิมที่คุณมีอยู่)
- Backend ทำการตรวจสอบสิทธิ์และประมวลผล (บันทึกลง Database ให้แน่ใจ)
- Backend หันมาร้องเรียก REST API ของ RawPush (POST
/api/v1/publish) เพื่อส่งสัญญาณ - RawPush จะกระจาย (Broadcast) ให้ Clients ทุกคนที่รอความเคลื่อนไหวอยู่ใน Channel นั้นๆ รับทราบทันที
2. Client → Client (WebSocket Publish)
ส่งข้อมูลตรงแบบ Peer-to-peer (ผ่าน RawPush) เพื่อความเร็วระดับ Low Latency
- ตัวอย่างการใช้งาน: โชว์เคอร์เซอร์สดๆ (Cursor positions), แลกเปลี่ยนพิกัด, หรือตำแหน่งในเกม
- End-user ยิงคำสั่ง
publishไปยัง WebSocket ของ RawPush พร้อมระบุชื่อ Channel - RawPush broadcast ข้อมูลไปหาทุกคนใน Channel ทันที (ไม่ผ่าน Backend ของคุณ)
ข้อมูลเพิ่มเติม
การส่งแบบ Client → Client จะมีข้อจำกัดเรื่อง Permission หากเป็น Private Channel ข้อมูลนี้จะไม่ถูกส่งเข้า Backend ของคุณเพื่อบันทึกลง Database
3. Server-side Events (Webhooks)
ให้ RawPush แจ้งเตือน Backend ของคุณว่าเกิดอะไรขึ้นในระบบ
- เมื่อมี Event สำคัญเกิดขึ้น (เช่น connection lifecycle, channel subscriptions, message delivery)
- หากเปิด Webhook ไว้ RawPush จะ POST ส่งข้อมูลกลับไปให้ Server คุณแบบ real-time เพื่อให้คุณประมวลผล, บันทึก, หรือ trigger automation ตามต้องการ
