Netflix Streaming and Workflow Architecture

Ý chính

Cụm nguồn Netflix của ByteByteGo cho thấy một pattern lớn: scale không đến từ một hệ thống chung chung, mà từ việc tách rõ đường điều khiển, đường dữ liệu, đường đọc, đường ghi và workflow state.

Bản đồ kiến trúc

User/client
-> AWS backend/control plane: auth, license, catalog, playback decision
-> Open Connect/CDN data plane: stream video từ edge gần user
-> client SDK: probe endpoint, đổi OCA, đổi chất lượng
 
Media source
-> transcoding pipeline
-> proactive caching tới OCA
-> playback ở edge
 
Live source
-> live encode/package
-> Live Origin
-> Open Connect
-> client
 
Editorial/content workflow
-> write path/CMS
-> read model
-> in-memory read path cho page construction/search/personalization
 
Data/ML workflows
-> workflow definition/DAG
-> scheduler/signal
-> engine/queue/state store
-> event publishing và observability

Pattern học được

  • Tách control plane và data plane giúp backend ra quyết định còn data-heavy serving chạy ở lớp tối ưu riêng.
  • Với video, đưa dữ liệu gần user quan trọng hơn cố scale origin trung tâm.
  • Với live, write path phải được bảo vệ vì mỗi segment có deadline rất ngắn.
  • CQRS hữu ích, nhưng read path nhiều hop/cache refresh có thể làm preview bị stale; in-memory read model là một cách đổi latency lấy RAM và sync complexity.
  • Workflow orchestration cần state đáng tin cậy, queue để hấp thụ spike, và lineage/rollup để debug những pipeline rất lớn.

Trade-off chung

Netflix thường chọn tăng kiểm soát ở những phần là năng lực lõi: client SDK, video CDN, live origin, content read path và workflow platform. Đổi lại, hệ thống phức tạp hơn và cần nhiều lớp observability, consistency control, cache policy và operational tooling.

Liên kết