25 điểm bởi xguru 2025-12-24 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Giao thức streaming bền vững dựa trên HTTP, truyền dữ liệu ổn định tới trình duyệt web, thiết bị di động và client native
  • Hỗ trợ cách tiếp cận đơn giản và đã được kiểm chứng để tạo và tiêu thụ stream có đảm bảo thứ tự và có thể phát lại
  • Khả năng tiếp tục dựa trên offset cho phép nhận tiếp từ điểm bị gián đoạn ngay cả khi kết nối bị ngắt
  • Có thể dùng cho nhiều kịch bản thời gian thực như streaming hội thoại AI, đồng bộ cơ sở dữ liệu, chỉnh sửa cộng tác, event sourcing, thực thi workflow
  • Giải quyết vấn đề kết nối không ổn định của WebSocket và SSE hiện có
  • Thiết kế refresh-safe giúp tiếp tục tại cùng vị trí ngay cả sau khi chuyển tab hoặc chuyển ứng dụng sang nền
  • Chia sẻ stream dựa trên URL cho phép nhiều người dùng cùng xem một stream đồng thời
  • Cấu trúc thân thiện với CDN giúp giảm chi phí, có thể xử lý hàng triệu kết nối đồng thời từ một origin duy nhất
  • Hỗ trợ đồng bộ nhiều thiết bị và nhiều tab
  • Đặc điểm của giao thức
    • Universal: Có thể sử dụng trong mọi môi trường nơi HTTP hoạt động
    • Simple: Dựa trên HTTP tiêu chuẩn, không cần giao thức tùy biến riêng
    • Resumable: Hỗ trợ đọc và tiếp tục dựa trên offset
    • Real-time: Có thể tailing thời gian thực bằng chế độ Long-poll và SSE
    • Economical: Đảm bảo khả năng mở rộng hiệu quả thông qua cache CDN
    • Composable: Có thể xây dựng tầng trừu tượng cấp cao hơn bên trên (ví dụ: engine đồng bộ Postgres thời gian thực của Electric)
  • Đặc tính hiệu năng
    • Độ trễ dưới 15ms, xử lý hàng triệu subscriber đồng thời, đảm bảo khả năng scale ngang
    • Cấu trúc URL dựa trên offset giúp tối đa hóa việc tận dụng cache CDN
  • Quan hệ với các hệ thống streaming backend
    • Bổ sung cho các hệ thống nhắn tin giữa server như Kafka, RabbitMQ, Kinesis
    • Durable Streams phụ trách tầng truyền tải tới client
    • Server thực hiện xác thực và chuyển đổi dữ liệu, còn Durable Streams fan-out chúng qua HTTP
  • Khác biệt với SSE và WebSocket
    • SSE/WebSocket chỉ cung cấp kết nối đơn giản, còn Durable Streams cung cấp kiến trúc dựa trên log bền vững
    • Kết hợp các ưu điểm của log tiêu chuẩn như tiếp tục theo offset, phát lại lịch sử, hỗ trợ nhiều reader
  • Tính linh hoạt trong triển khai
    • Chỉ cần triển khai HTTP API, kho lưu trữ bền vững và quản lý offset là có thể xây dựng server bằng bất kỳ ngôn ngữ nào
    • Cung cấp server tham chiếu Node.js cùng công cụ kiểm thử tính tương thích và benchmark
  • Các trường hợp sử dụng chính
    • Đồng bộ cơ sở dữ liệu thời gian thực: streaming thay đổi của Postgres tới web và di động
    • Hệ thống event sourcing: khôi phục trạng thái dựa trên log sự kiện bền vững
    • Streaming hội thoại AI: có thể tiếp tục luồng token của LLM mà không bị gián đoạn
  • Giao thức theo giấy phép Apache 2.0 đã được đội ngũ Electric SQL kiểm chứng trong dịch vụ thực tế suốt 1,5 năm

Chưa có bình luận nào.

Chưa có bình luận nào.