ทางเลือกแทน Soketi: ย้ายเซิร์ฟเวอร์โปรโตคอล Pusher ไปที่ไหนดี
Soketi ออกรุ่นล่าสุดเมื่อมีนาคม 2024 ทางเลือกที่รองรับ Pusher ที่ย้ายไปได้ สิ่งที่เปลี่ยนในการตั้งค่า และวิธีสลับโดยไม่มีดาวน์ไทม์
Soketi ทำให้การรันเซิร์ฟเวอร์โปรโตคอล Pusher เองเป็นเรื่องง่าย และแอป Laravel กับ Node.js จำนวนมากยังรันอยู่บนมัน แต่โปรเจกต์นี้ช้าลง ทีมที่พึ่งพามันจึงเริ่มถามว่าจะไปต่อที่ไหน เพราะ Soketi ใช้โปรโตคอล Pusher คำตอบจึงอาจเป็นแค่การเปลี่ยนการตั้งค่า ไม่ใช่การเขียนใหม่
สถานะของ Soketi
| รุ่นล่าสุด | 1.6.1 เมื่อ 2024-03-25 |
| คอมมิตล่าสุด | อัปเดต dependency เมื่อ 2025-03-03 |
| สัญญาอนุญาต | AGPL-3.0 |
| README พูดถึงการดูแล | ระบุว่าการอัปเดตและการสนับสนุนไม่สม่ำเสมอ |
ข้อมูลจากรีโพซิทอรีของ Soketi และรายการรุ่น ตรวจสอบเมื่อ 2026-10-26
เซิร์ฟเวอร์ที่ใช้ได้วันนี้อาจใช้ได้ไปอีกนาน ความเสี่ยงอยู่ข้างหน้า เช่น Node.js รุ่นใหม่ที่เซิร์ฟเวอร์ build ไม่ผ่าน แพตช์ความปลอดภัยที่ไม่มีใครออก หรือบั๊กที่คุณต้องแก้เอง สำหรับส่วนที่รับการเชื่อมต่อของผู้ใช้ทุกคน ควรวางแผนไว้ก่อนที่จะกลายเป็นเรื่องเร่งด่วน
ปลายทางที่รองรับ Pusher
ตัวเลือกเหล่านี้ใช้ pusher-js, Laravel Echo และไลบรารีเซิร์ฟเวอร์ของ Pusher ต่อได้ ช่อง endpoint สำหรับยืนยันสิทธิ์ และอีเวนต์จึงเหมือนเดิม
| ทางเลือก | ใครดูแล | สิ่งที่คุณต้องรับ | ค่าใช้จ่าย |
|---|---|---|---|
| Laravel Reverb | คุณเอง | งานเดียวกับ Soketi: โพรเซส TLS ขีดจำกัดไฟล์ และ Redis เมื่อขยาย | ซอฟต์แวร์ฟรีบวกเซิร์ฟเวอร์ |
| Reverb แบบจัดการบน Laravel Cloud | Laravel Cloud | แอปของคุณต้องอยู่บน Laravel Cloud ด้วย | เริ่ม 5 ดอลลาร์ต่อเดือนสำหรับ 100 การเชื่อมต่อ |
| Pusher Channels | Pusher | ไม่ต้องดูแลเอง แต่ทุกครั้งที่ส่งถึงนับเป็นข้อความ | เริ่ม 49 ดอลลาร์ต่อเดือนสำหรับ 500 การเชื่อมต่อ |
| Hibira | Hibira | ไม่ต้องดูแลเอง เซิร์ฟเวอร์อยู่ในฮ่องกง | แพ็กเกจฟรี แล้วเริ่ม 19 ดอลลาร์ต่อเดือนสำหรับ 500 การเชื่อมต่อ |
ราคาจากเอกสารราคาของ Laravel Cloud และ pusher.com/channels/pricing ตรวจสอบเมื่อ 2026-10-26
การย้ายออกจากโปรโตคอล Pusher ไปใช้ Socket.IO, Centrifugo หรือ Ably ก็ทำได้ แต่ต้องเขียนโค้ดไคลเอนต์และเซิร์ฟเวอร์ใหม่ หน้าทางเลือกแทน Pusher มีรายละเอียด
ก่อน
หลัง
สิ่งที่เปลี่ยนในการตั้งค่า
มีแค่ข้อมูลการเชื่อมต่อ แอป Laravel ที่รันบน Soketi มักตั้ง .env ให้ไดรเวอร์ Pusher ชี้ไปที่โฮสต์ของคุณพอร์ต 6001 เมื่อใช้บริการแบบโฮสต์ให้ ก็เปลี่ยนให้ชี้ไปที่บริการนั้นแทน
BROADCAST_CONNECTION=pusher
PUSHER_APP_ID=YOUR_APP_ID
PUSHER_APP_KEY=YOUR_APP_KEY
PUSHER_APP_SECRET=YOUR_APP_SECRET
PUSHER_HOST=ws.hibira.io
PUSHER_PORT=443
PUSHER_SCHEME=httpsใน pusher-js หรือ Laravel Echo ให้เปลี่ยน wsHost และพอร์ตให้ตรงกัน และคง forceTLS: true ไว้ การตั้งค่าใน app manager ของ Soketi เช่น ขีดจำกัดการเชื่อมต่อต่อแอปหรือ origin ที่อนุญาต ให้ย้ายไปตั้งในแดชบอร์ดของบริการใหม่
สลับระบบโดยไม่มีดาวน์ไทม์
- สร้างแอปในบริการใหม่และคัดลอกข้อมูลรับรอง
- ให้เซิร์ฟเวอร์เผยแพร่ทุกเหตุการณ์ไปทั้ง Soketi และบริการใหม่ การสร้างไลบรารีเซิร์ฟเวอร์ของ Pusher สองตัวแทบไม่มีต้นทุน
- ปล่อยการเปลี่ยนแปลงฝั่งไคลเอนต์ หน้าที่เปิดใหม่จะเชื่อมต่อโฮสต์ใหม่ ส่วนแท็บเก่าและแอปรุ่นเก่ายังอยู่กับ Soketi
- เมื่อจำนวนการเชื่อมต่อของ Soketi เหลือศูนย์หรือใกล้ศูนย์ ให้หยุดเผยแพร่ไปที่มันแล้วปิดลง
Webhook ก็เช่นกัน ให้ลงทะเบียน endpoint ของคุณในบริการใหม่ก่อนขั้นตอนที่ 3 ขั้นตอนเดียวกันสำหรับการย้ายจาก Pusher อยู่ในคู่มือการย้ายระบบ
สิ่งที่ได้จากบริการแบบโฮสต์ให้
นอกจากไม่ต้องดูแลเซิร์ฟเวอร์ บริการแบบโฮสต์ให้ยังมีเครื่องมือที่ Soketi ปล่อยให้คุณทำเอง ได้แก่ แดชบอร์ดแสดงจำนวนการเชื่อมต่อและข้อความ debug console ที่แสดงทุกอีเวนต์แบบสด webhook และการใช้งานเทียบกับขีดจำกัดของแพ็กเกจ

คำถามที่พบบ่อย
Soketi ยังมีการดูแลอยู่ไหม?
รุ่นล่าสุด 1.6.1 ออกเมื่อ 2024-03-25 และคอมมิตหลังจากนั้นเป็นการอัปเดต dependency ตัว README เองก็ระบุว่าการอัปเดตและการสนับสนุนไม่สม่ำเสมอ ยังใช้งานได้ แต่ควรวางแผนหาตัวแทน
ตัวแทน Soketi ที่ใกล้เคียงที่สุดคืออะไร?
Laravel Reverb ถ้าอยากรันเองต่อ หรือบริการแบบโฮสต์ให้ที่รองรับ Pusher ถ้าไม่อยากดูแลเซิร์ฟเวอร์ ทั้งสองใช้โปรโตคอล Pusher โค้ดจึงเหมือนเดิม
ต้องแก้โค้ดไคลเอนต์เพื่อย้ายออกจาก Soketi ไหม?
ไม่ต้อง ถ้าย้ายไปเซิร์ฟเวอร์หรือบริการที่ใช้โปรโตคอล Pusher เปลี่ยนแค่โฮสต์ พอร์ต key และ secret ใน .env และในตัวเลือกของ pusher-js หรือ Echo
ชื่อผลิตภัณฑ์เป็นเครื่องหมายการค้าของเจ้าของ