正确的Google Cloud产品

时间:2018-12-26 13:30:23

标签: database google-cloud-platform bigdata cloud

您在全球分布的拍卖应用程序允许用户对物品进行投标。有时,用户在几乎相同的时间下相同的出价,而不同的应用服务器处理这些出价。每个出价事件都包含项目,金额,用户和时间戳。您希望将这些出价事件实时整理到一个位置,以确定哪个用户首先出价。你该怎么办?(选择一个)

(A)在共享文件上创建一个文件,并使应用程序服务器将所有出价事件写入该文件。使用Apache Hadoop处理文件,以确定哪个用户首先出价。

(B)让每个应用服务器在发生出价事件时将出价事件写入Cloud Pub / Sub。将事件从Cloud Pub / Sub推送到自定义端点,该端点将出价事件信息写入Cloud SQL。

(C)为每个应用程序服务器设置一个MySQL数据库,以将出价事件写入其中。定期查询每个分布式MySQL数据库,并使用出价事件信息更新MySQL主数据库。

(D)让每个应用服务器在发生出价事件时将出价事件写入Google Cloud Pub / Sub。使用拉取订阅通过Google Cloud Dataflow拉取出价事件。在首先处理的出价事件中,将每个项目的出价提供给用户。

1 个答案:

答案 0 :(得分:1)

我个人选择(D)。原因如下:

  • Cloud Pub / Sub是一项托管服务和面向消息的中间件,换句话说,它传递消息。

      

    “用户在几乎相同的时间发出相同的出价,而不同的应用服务器处理这些出价。”

    使用发布/订阅,您只需要配置最终用户的发布商1,它将出价发送到主题,以后您就可以处理这些数据。因此,我将首先消除(A)(C),如果您有更好的选择,那就是 Cloud Pub / Sub 。您不想管理自己的Hadoop或MySQL服务器。

  • 还有另一个关键句子

      

    “将这些出价事件实时整理到一个位置。”

    Cloud Dataflow(Apache Beam) 2支持流处理和批处理。有一个名为触发器的功能,您可以通过数据的事件时间触发,也可以与用户出价的时间相同。

  • 您不想将这些实时数据存储到Cloud SQL 3中。