为什么使用 Gcloud Pub/Sub?
Why Gcloud Pub/Sub is used?
为什么使用Pub/Sub?
用例:有一个 http 触发的“云功能”,在其上发送了一些数据。
此函数在处理数据后,将数据发布到 Pub/Sub 主题。
然后还有另一个云功能,它是根据发布到那个 Pub/sub 主题触发的。
因此,此 Cloud 函数从 pub/sub 获取已发布的数据并将其插入到 BigQuery table。
所以在这个用例中为什么使用 pub sub,为什么我们不能只有一个云函数从 http hit 中获取数据,并将其插入 BigQuery。
这里选择pub/sub的设计思路是什么?
另外一般为什么要使用Pub/sub架构?
在此架构中使用云 Pub/Sub 可能有多种原因。一个原因是如果有任何扇出或计划扇出,发布的数据最终不仅在 BigQuery 中,而且在其他地方。如果没有 Pub/Sub,http 触发的 Cloud Function 必须知道所有感兴趣的数据接收者并将其发送给每个接收者。使用 Pub/Sub,任何对传入数据感兴趣的附加服务都可以对数据创建单独的订阅并独立于 BigQuery 使用它。
另一个原因是能够将数据批量插入到 BigQuery 中,而不会增加对初始 Cloud Function 的 http 请求的延迟。这可能是为了提高效率或对传入的数据进行某种跨事件预处理。通过使用 Pub/Sub,第一个 Cloud Function 可以在发布到 Cloud 后立即响应请求 Pub/Sub成功,无需等待任何其他请求,可以确定该请求最终会被处理。
在现在或将来都没有这两个的情况下,直接写入 BigQuery 可能有意义。
为什么使用Pub/Sub? 用例:有一个 http 触发的“云功能”,在其上发送了一些数据。 此函数在处理数据后,将数据发布到 Pub/Sub 主题。
然后还有另一个云功能,它是根据发布到那个 Pub/sub 主题触发的。 因此,此 Cloud 函数从 pub/sub 获取已发布的数据并将其插入到 BigQuery table。
所以在这个用例中为什么使用 pub sub,为什么我们不能只有一个云函数从 http hit 中获取数据,并将其插入 BigQuery。 这里选择pub/sub的设计思路是什么?
另外一般为什么要使用Pub/sub架构?
在此架构中使用云 Pub/Sub 可能有多种原因。一个原因是如果有任何扇出或计划扇出,发布的数据最终不仅在 BigQuery 中,而且在其他地方。如果没有 Pub/Sub,http 触发的 Cloud Function 必须知道所有感兴趣的数据接收者并将其发送给每个接收者。使用 Pub/Sub,任何对传入数据感兴趣的附加服务都可以对数据创建单独的订阅并独立于 BigQuery 使用它。
另一个原因是能够将数据批量插入到 BigQuery 中,而不会增加对初始 Cloud Function 的 http 请求的延迟。这可能是为了提高效率或对传入的数据进行某种跨事件预处理。通过使用 Pub/Sub,第一个 Cloud Function 可以在发布到 Cloud 后立即响应请求 Pub/Sub成功,无需等待任何其他请求,可以确定该请求最终会被处理。
在现在或将来都没有这两个的情况下,直接写入 BigQuery 可能有意义。