Để đáp ứng các yêu cầu: tìm kiếm và tua lại vị trí đọc dữ liệu (offset seeking) về thời điểm bắt đầu lịch sử, hỗ trợ pub/sub trên hàng trăm topic, và đảm bảo thứ tự xử lý dữ liệu theo khóa (per-key ordering):
- Apache Kafka là giải pháp phù hợp nhất. Kafka lưu trữ các tin nhắn trong phân vùng (partitions) dưới dạng nhật ký append-only ghi trên đĩa và cho phép người tiêu dùng (consumers) thay đổi offset để đọc lại dữ liệu lịch sử từ bất kỳ thời điểm nào. Nó cũng hỗ trợ khóa tin nhắn để đảm bảo thứ tự trong cùng partition và hỗ trợ hàng trăm topic hiệu quả.
- B sai: Cloud Storage là kho lưu trữ đối tượng tĩnh, không hỗ trợ giao thức Pub/Sub thời gian thực nguyên bản.
- C sai: Dataflow là công cụ xử lý dữ liệu (compute engine), không phải là hệ thống hàng đợi tin nhắn (message broker/storage).
- D sai: Firebase Cloud Messaging dùng để gửi thông báo đẩy (push notifications) tới thiết bị người dùng cuối, không phải hệ thống tích hợp dữ liệu lớn.
(Đáp án được gợi ý bởi AI)