Quay lại bộ đề
Question #72 Topic 1
Your software uses a simple JSON format for all messages. These messages are published to Google Cloud Pub/Sub, then processed with Google CloudDataflow to create a real-time dashboard for the CFO. During testing, you notice that some messages are missing in the dashboard. You check the logs, and all messages are being published to Cloud Pub/Sub successfully. What should you do next?
Phần mềm của bạn sử dụng định dạng JSON đơn giản cho tất cả các thông điệp. Các thông điệp này được xuất bản lên Google Cloud Pub/Sub, sau đó được xử lý bằng Google Cloud Dataflow để tạo một bảng thông tin (dashboard) thời gian thực cho Giám đốc Tài chính (CFO). Trong quá trình thử nghiệm, bạn nhận thấy một số thông điệp bị thiếu trên dashboard. Bạn kiểm tra nhật ký (logs), và tất cả các thông điệp đều được xuất bản lên Cloud Pub/Sub thành công. Bạn nên làm gì tiếp theo?
A
Check the dashboard application to see if it is not displaying correctly.
Kiểm tra ứng dụng dashboard để xem liệu nó có hiển thị không chính xác hay không.
B
Run a fixed dataset through the Cloud Dataflow pipeline and analyze the output.
Chạy một tập dữ liệu cố định qua pipeline Cloud Dataflow và phân tích kết quả đầu ra.
C
Use Google Stackdriver Monitoring on Cloud Pub/Sub to find the missing messages.
Sử dụng Google Stackdriver Monitoring trên Cloud Pub/Sub để tìm các thông điệp bị thiếu.
D
Switch Cloud Dataflow to pull messages from Cloud Pub/Sub instead of Cloud Pub/Sub pushing messages to Cloud Dataflow.
Chuyển đổi Cloud Dataflow sang chế độ kéo (pull) thông điệp từ Cloud Pub/Sub thay vì Cloud Pub/Sub đẩy (push) thông điệp tới Cloud Dataflow.
Giải thích & Tài liệu tham khảo
Trong tình huống này, việc các tin nhắn được xuất bản lên Cloud Pub/Sub thành công nhưng lại bị thiếu trên dashboard cho thấy vấn đề có thể nằm ở pipeline Dataflow hoặc ứng dụng dashboard. Tuy nhiên, để xác định chính xác nguyên nhân, việc chạy một tập dữ liệu cố định (fixed dataset) qua pipeline Cloud Dataflow và phân tích đầu ra là cách tiếp cận logic và hiệu quả nhất.
- Lựa chọn B (Run a fixed dataset through the Cloud Dataflow pipeline and analyze the output) là đúng. Bằng cách sử dụng một tập dữ liệu đã biết và cố định, bạn có thể dễ dàng kiểm tra từng bước trong pipeline Dataflow. Điều này giúp xác định xem dữ liệu có bị biến đổi sai, bị lọc bỏ không đúng cách, hay có lỗi xử lý nào đó khiến các tin nhắn bị mất trước khi đến được dashboard hay không. Đây là một phương pháp gỡ lỗi tiêu chuẩn và rất hiệu quả.
- Lựa chọn A (Check the dashboard application to see if it is not displaying correctly): Mặc dù dashboard có thể là nơi cuối cùng hiển thị lỗi, nhưng nếu bạn đã xác nhận rằng tất cả tin nhắn đều được xuất bản thành công lên Pub/Sub, vấn đề có khả năng cao hơn là ở quá trình xử lý trung gian (Dataflow) chứ không phải chỉ là hiển thị. Kiểm tra dashboard là cần thiết, nhưng không phải là bước đầu tiên để xác định nguồn gốc của tin nhắn bị thiếu khi Dataflow là một mắt xích quan trọng.
- Lựa chọn C (Use Google Stackdriver Monitoring on Cloud Pub/Sub to find the missing messages): Stackdriver Monitoring sẽ giúp bạn xác nhận rằng tin nhắn đã được Pub/Sub nhận và gửi đi, nhưng nó không giúp bạn tìm 'tin nhắn bị thiếu' bên trong Pub/Sub nếu chúng đã được xuất bản thành công. Vấn đề là chúng bị mất sau Pub/Sub, trong quá trình xử lý của Dataflow. Vì vậy, Stackdriver Monitoring trên Pub/Sub sẽ không cung cấp thông tin cần thiết để gỡ lỗi Dataflow.
- Lựa chọn D (Switch Cloud Dataflow to pull messages from Cloud Pub/Sub instead of Cloud Pub/Sub pushing messages to Cloud Dataflow): Dataflow luôn 'pull' tin nhắn từ Pub/Sub thông qua một Subscription. Pub/Sub bản thân nó không 'push' trực tiếp tin nhắn tới Dataflow theo cách mà Dataflow nhận dữ liệu. Dataflow sử dụng một
PubsubIOsource để đọc từ một Pub/Sub subscription. Việc thay đổi cách thức cơ bản này là không cần thiết và không giải quyết được vấn đề tin nhắn bị thiếu; trên thực tế, nó không phải là một cấu hình tùy chọn có sẵn theo cách được mô tả.
(Đáp án được gợi ý bởi AI)