Docs học tập
Backend nền tảng

J2 · Thiết kế Newsfeed

User đăng bài → Fanout service → ghi vào timeline người theo dõi (Fanout on Write).

J2 · Nâng cao

Đăng bài như gửi báo: có thể giao sẵn tận nhà cho mọi người theo dõi (push), hoặc để ở sạp, ai muốn đọc tự đến lấy (pull).

Cốt lõi

  • User đăng bài → Fanout service → ghi vào timeline người theo dõi (Fanout on Write).
  • Xếp hạng feed, CDN + Cache.

Đánh đổi

Fanout on Write: đọc nhanh, nhưng người nổi tiếng (triệu follower) ghi quá nặng → dùng hybrid: celebrity dùng Fanout on Read.

Trong thực tế

Instagram, Facebook, Twitter timeline.

Bug thường gặp

Fanout-on-write cho tài khoản triệu follower → một bài đăng sinh hàng triệu lượt ghi, hàng đợi tồn đọng hàng giờ.

Tự hỏi lại

Kết hợp push và pull (hybrid fanout) cho tài khoản triệu follower hoạt động thế nào?

On this page