Quay lại bộ đề
Question #102 Topic 1
You operate an IoT pipeline built around Apache Kafka that normally receives around 5000 messages per second. You want to use Google Cloud Platform to create an alert as soon as the moving average over 1 hour drops below 4000 messages per second. What should you do?
Bạn vận hành một pipeline IoT được xây dựng dựa trên Apache Kafka thông thường nhận được khoảng 5000 tin nhắn mỗi giây. Bạn muốn sử dụng Google Cloud Platform để tạo cảnh báo ngay khi trung bình động (moving average) trong vòng 1 giờ giảm xuống dưới 4000 tin nhắn mỗi giây. Bạn nên làm gì?
A
Consume the stream of data in Dataflow using Kafka IO. Set a sliding time window of 1 hour every 5 minutes. Compute the average when the window closes, and send an alert if the average is less than 4000 messages.
Tiêu thụ luồng dữ liệu trong Dataflow bằng Kafka IO. Thiết lập một cửa sổ thời gian trượt (sliding time window) là 1 giờ sau mỗi 5 phút. Tính toán trung bình khi cửa sổ đóng lại, và gửi cảnh báo nếu trung bình nhỏ hơn 4000 tin nhắn.
B
Consume the stream of data in Dataflow using Kafka IO. Set a fixed time window of 1 hour. Compute the average when the window closes, and send an alert if the average is less than 4000 messages.
Tiêu thụ luồng dữ liệu trong Dataflow bằng Kafka IO. Thiết lập một cửa sổ thời gian cố định (fixed time window) là 1 giờ. Tính toán trung bình khi cửa sổ đóng lại, và gửi cảnh báo nếu trung bình nhỏ hơn 4000 tin nhắn.
C
Use Kafka Connect to link your Kafka message queue to Pub/Sub. Use a Dataflow template to write your messages from Pub/Sub to Bigtable. Use Cloud Scheduler to run a script every hour that counts the number of rows created in Bigtable in the last hour. If that number falls below 4000, send an alert.
Sử dụng Kafka Connect để liên kết hàng đợi tin nhắn Kafka của bạn với Pub/Sub. Sử dụng một mẫu Dataflow để ghi các tin nhắn của bạn từ Pub/Sub vào Bigtable. Sử dụng Cloud Scheduler để chạy một kịch bản mỗi giờ đếm số lượng hàng được tạo trong Bigtable trong giờ qua. Nếu số lượng đó giảm xuống dưới 4000, hãy gửi cảnh báo.
D
Use Kafka Connect to link your Kafka message queue to Pub/Sub. Use a Dataflow template to write your messages from Pub/Sub to BigQuery. Use Cloud Scheduler to run a script every five minutes that counts the number of rows created in BigQuery in the last hour. If that number falls below 4000, send an alert.
Sử dụng Kafka Connect để liên kết hàng đợi tin nhắn Kafka của bạn với Pub/Sub. Sử dụng một mẫu Dataflow để ghi các tin nhắn của bạn từ Pub/Sub vào BigQuery. Sử dụng Cloud Scheduler để chạy một kịch bản mỗi năm phút đếm số lượng hàng được tạo trong BigQuery trong giờ qua. Nếu số lượng đó giảm xuống dưới 4000, hãy gửi cảnh báo.
Giải thích & Tài liệu tham khảo
Yêu cầu ở đây là tính toán trung bình động (moving average) trong khoảng thời gian 1 giờ và phát hiện cảnh báo sớm.
- Tại sao chọn A:
- Trong lập trình luồng (streaming), trung bình động (moving average) được triển khai chuẩn xác thông qua Sliding Time Window (Cửa sổ trượt). Cửa sổ trượt có kích thước 1 giờ và dịch chuyển (trượt) sau mỗi 5 phút sẽ tính toán liên tục lượng tin nhắn trung bình trong 1 giờ gần nhất cứ mỗi 5 phút một lần.
- Dataflow (Apache Beam) cung cấp sự hỗ trợ hoàn hảo cho việc xử lý trực tiếp trên luồng thông qua các API chuyên dụng và có thể đọc trực tiếp từ Kafka bằng KafkaIO.
- Tại sao các phương án khác sai:
- B: Cửa sổ cố định (Fixed / Tumbling Window) không trượt mà chia thời gian thành các khối 1 giờ không chồng chéo. Do đó, nó không thể tính toán trung bình động liên tục sau mỗi vài phút mà chỉ có kết quả một lần duy nhất vào cuối mỗi giờ.
- C & D: Đây là các phương pháp tiếp cận dạng batch gián tiếp, tạo ra độ trễ cao và chi phí vận hành phức tạp hơn rất nhiều so với việc xử lý trực tiếp trên luồng bằng Dataflow.
(Đáp án được gợi ý bởi AI)