26 คะแนน โดย xguru 2025-06-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แพลตฟอร์ม โครงสร้างพื้นฐานเซิร์ฟเวอร์เลส แบบโอเพนซอร์สที่ เป็นมิตรกับนักพัฒนา ช่วยให้ปรับใช้และขยายแบ็กเอนด์ที่ซับซ้อน เช่น AI agent, แอปพลิเคชันเรียลไทม์, เกมเซิร์ฟเวอร์ ได้อย่างง่ายดาย
  • เทคโนโลยีสแตก: Rust, V8, Deno, FoundationDB, CockroachDB, ClickHouse, Valkey, NATS, Traefik
  • มีฟีเจอร์หลากหลายอย่าง Stateless Functions, Stateful Actors, Containerized Workloads ในรูปแบบ primitive แบบรวมศูนย์
    • Stateless Functions (ฟังก์ชันไร้สถานะ): เหมาะกับงานแบบ request-response เช่น API server
    • Stateful Actors (แอ็กเตอร์ที่เก็บสถานะ): เหมาะอย่างยิ่งสำหรับสร้างบริการเรียลไทม์ที่คงสถานะไว้ในหน่วยความจำ
    • Sandboxed Containers: รองรับงานหนักหรือเวิร์กโหลดที่ไม่น่าเชื่อถือได้อย่างปลอดภัย

ฟีเจอร์

  • Stateful Persistence
    • Rivet Actor เก็บข้อมูลไว้ในหน่วยความจำ และบันทึกลงดิสก์แบบ durable โดยอัตโนมัติ
    • เหมาะสำหรับการจัดการสถานะแบบไดนามิก เช่น game lobby, collaborative document, cache
  • การเรียกใช้ฟังก์ชันระยะไกล (RPC)
    • มีระบบส่งข้อความน้ำหนักเบาระหว่างไคลเอนต์และบริการในตัว
    • รองรับ type-safe remote procedure calls (RPC) และการ broadcast ระหว่าง client/actor
    • สามารถสร้างสถาปัตยกรรมการสื่อสารแบบเรียลไทม์ได้โดยไม่ต้องมี external message broker
  • No Cold Starts
    • บริการจะเข้าสู่โหมด Idle แล้ว Hibernate และเปิดใช้งานได้ทันทีเมื่อจำเป็น
    • แอ็กเตอร์แบบ long-running จะเข้าสู่สถานะ "Sleep" เมื่อไม่ใช้งาน และกู้คืนสถานะได้ทันทีเมื่อมีคำขอถัดไป
    • จากมุมมองของผู้ใช้ปลายทาง ให้ทั้งการกู้คืนจาก cold start และ low-latency ที่สม่ำเสมอ
  • การกระจายที่ขอบเครือข่าย (Edge)
    • สามารถปรับใช้โค้ดแบ็กเอนด์ให้ใกล้กับผู้ใช้มากขึ้น
    • เพื่อให้ได้ latency ต่ำมาก Rivet จะปรับใช้ actor และ function ไปยัง global edge
    • รองรับโปรโตคอล HTTP, WebSocket, TCP, UDP และสามารถปรับใช้บน global edge ได้โดยไม่ต้องมี external proxy
  • รองรับคอนเทนเนอร์และเวลารันไม่จำกัด
    • ไม่มีข้อจำกัดสำหรับโปรเซสที่ทำงานระยะยาวหรืองานเบื้องหลัง
    • รองรับทุก Docker-compatible container (ถ้าทำงานบน Docker ได้ ก็ทำงานบน Rivet ได้)
  • Fault Tolerance
    • สถานะของ actor จะถูกบันทึกอย่างต่อเนื่อง จึงกู้คืนสถานะได้โดยไม่สะดุดเมื่อเกิดปัญหาหรือมีการ reschedule
    • เมื่อรวมกับการทำ routing อัจฉริยะ จะช่วยรับประกันความพร้อมใช้งานสูง
  • รองรับการพัฒนาแบบโลคัล
    • ใช้ rivet dev หรือ Docker Compose เพื่อเปิดและทดสอบ local cluster ได้ทันที
    • สามารถพัฒนาแบบวนซ้ำในเครื่องได้ก่อนนำขึ้นโปรดักชัน

กรณีการใช้งานหลัก

  • AI agent
  • SaaS แบบ multi-tenant
  • แอปแบบ local-first
  • แอปพลิเคชันสำหรับการทำงานร่วมกัน
  • การรันโค้ดแบบ sandbox
  • เกมเซิร์ฟเวอร์
  • การซิงก์/สตอเรจของ Yjs
  • แอปแชต

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

 
xguru 2025-06-11

Rivet - ระบบจัดการเซิร์ฟเวอร์เกมมัลติเพลเยอร์แบบโอเพนซอร์ส

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