You are developing a globally scaled frontend for a legacy streaming backend data API.
This API expects events in strict chronological order with no repeat data for proper processing.
Which products should you deploy to ensure guaranteed-once FIFO (first-in, first-out) delivery of data?
Click on the arrows to vote for the correct answer
A. B. C. D.D.
https://cloud.google.com/pubsub/docs/orderingFor the scenario mentioned in the question, where a globally scaled frontend is being developed for a legacy streaming backend data API that expects events in strict chronological order with no repeat data for proper processing, the recommended product(s) to deploy to ensure guaranteed-once FIFO (first-in, first-out) delivery of data is Cloud Pub/Sub to Cloud Dataflow.
Explanation:
Cloud Pub/Sub is a messaging and streaming service that allows communication between independent applications. It is designed to deliver high-throughput, low-latency data streaming and messaging services. It is a globally scalable service that allows decoupling of independent applications, providing reliability and availability.
However, Cloud Pub/Sub alone cannot guarantee that data is processed in strict chronological order with no repeat data, which is required by the legacy streaming backend data API mentioned in the scenario. Cloud Pub/Sub only provides at-least-once delivery semantics, which means that a message is delivered at least once but may be delivered multiple times in some cases.
Cloud Dataflow is a fully managed service for data processing pipelines. It is designed to provide efficient, reliable, and scalable data processing. Cloud Dataflow allows the transformation and processing of streaming data in real-time, and it ensures exactly-once delivery semantics, which means that each message is processed only once, ensuring no repeat data.
Therefore, deploying Cloud Pub/Sub to Cloud Dataflow will ensure that the data is processed in strict chronological order with no repeat data, as required by the legacy streaming backend data API.
Cloud Pub/Sub to Stackdriver is not a suitable option for this scenario because Stackdriver is a monitoring and logging service that provides insights into the health, performance, and availability of applications and infrastructure. It does not guarantee the required data processing semantics.
Cloud Pub/Sub to Cloud SQL is also not a suitable option for this scenario because Cloud SQL is a fully managed relational database service for MySQL, PostgreSQL, and SQL Server. It is not designed for data streaming and processing and cannot guarantee the required data processing semantics.