Skip to content

วิธีการทำงานของระบบ

ทำความเข้าใจภาพรวมการรับและส่งข้อมูล (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 ตามต้องการ

Released under the MIT License.