25 คะแนน โดย xguru 2025-01-06 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • โซลูชันแบบเปิดที่ใช้งานง่าย รวดเร็ว เสถียร และประหยัดแบตเตอรี่
  • พุชการอัปเดตข้อมูลไปยังเว็บเบราว์เซอร์และไคลเอนต์ HTTP อื่น ๆ
  • มีประโยชน์อย่างยิ่งสำหรับการแสดงผลการอัปเดตแบบอะซิงโครนัส/เรียลไทม์ของรีซอร์สที่ให้บริการผ่านเว็บ API บนเว็บแบบตอบสนองและแอปมือถือ
  • ทำงานบน HTTP ล้วน: รองรับการสื่อสารสองทางโดยอาศัยโปรโตคอล HTTP/2 ขึ้นไป
  • เวลาตอบสนองรวดเร็วและมีความหน่วงต่ำ
  • รองรับเบราว์เซอร์ในทุกสภาพแวดล้อมได้โดยไม่ต้องติดตั้งเพิ่มเติม
  • การ publish และ subscribe ที่เรียบง่าย
    • Publish: จัดการด้วยคำขอ POST แบบง่าย
    • Subscribe: รับการอัปเดตแบบเรียลไทม์ผ่าน Server-Sent-Events (SSE)
  • รองรับการเชื่อมต่อใหม่อัตโนมัติเมื่อการเชื่อมต่อหลุด และสามารถร้องขอข้อความที่พลาดไปซ้ำได้
  • ออกแบบมาสำหรับ RESTful API และ GraphQL
  • รองรับการอัปเดตแบบส่วนตัวผ่านการยืนยันตัวตนด้วย JWT
  • มี Presence API สำหรับตรวจสอบสถานะการเชื่อมต่อของผู้ใช้ และติดตามสถานะการ subscribe กับอีเวนต์ได้
  • Event store: สามารถจัดเก็บและจัดการอีเวนต์ที่เกิดขึ้นได้
  • รองรับ PHP และสถาปัตยกรรม serverless อื่น ๆ
  • รองรับ E2EE (End-to-End Encryption) เพื่อความปลอดภัยของข้อมูลอย่างสมบูรณ์
  • มี Mercure Hub reference implementation ที่พร้อมใช้งานในระดับ production
    • มาพร้อมไลบรารีและอิมเมจ Docker อย่างเป็นทางการ ซึ่งสามารถใช้ให้แอปพลิเคชัน Go ทุกตัวติดตั้งโปรโตคอล Mercure ได้โดยตรงโดยไม่ต้องมีฮับ

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

 
jhj0517 2025-01-06

ถ้าเป็นแบบอิง SSE ก็สงสัยเหมือนกันว่าเป็นการสื่อสารทางเดียว หรือรองรับการสื่อสารสองทางแบบ WebSocket ด้วยไหม! 😮
เท่าที่ลองหาดูเองเบื้องต้น เหมือนว่าจะรองรับแค่การสื่อสารทางเดียว (เซิร์ฟเวอร์ -> ไคลเอนต์) เท่านั้นนะ... 🥺
https://medium.com/@sirajul.anik/…

 
nemorize 2025-01-06

FrankenPHP ที่คนเดียวกันเป็นผู้สร้างนั้นมี implementation ของ Mercure ฝังมาให้ในตัว
https://th.news.hada.io/topic?id=15103

ในแง่ของการให้บริการ real-time hub ก็มี Pushpin ที่สามารถเป็นทางเลือกทดแทนได้เช่นกัน
https://th.news.hada.io/topic?id=11377

สำหรับผม Pushpin ดูตรงไปตรงมามากกว่า Mercure (ฮ่าๆ... ขี้เกียจอ่านเอกสารของ Mercure มากเกินไป) ก่อนหน้านี้เลยใช้ Pushpin ทำ side project แต่ครั้งหน้าก็อยากลองใช้ตัวนี้ดูครับ