【问题标题】:Best way to implement Google Pub/Sub Subscribe + HTTP Rest API + Database实现 Google Pub/Sub 订阅 + HTTP Rest API + 数据库的最佳方式
【发布时间】:2022-01-14 03:46:47
【问题描述】:

我想问一下使用 REST API 实现 Pub Sub 的最佳方式。

我想从 Pub/Sub 订阅数据,然后我通过 HTTP Rest API 发送数据,该 API 每次订阅都会命中每个端点。 然后,在命中端点后保存到数据库中。

所以,服务中有 3 个工作。

  1. 订阅 Pub/Sub
  2. 通过 HTTP Rest API 从步骤 1 发送有效负载
  3. 将数据保存到数据库中。

我的第一种方法是创建两个不同的服务。

  1. 第一个从 Pub/Sub 订阅数据的服务。
  2. 第二个服务将第 1 步中的有效负载数据发送到 HTTP Rest API,并在此服务中将有效负载保存到数据库中。

实现它的最佳方式是什么?

如果来自 Pub/Sub 的数据过多怎么办。服务是否可能会出现故障或缓慢?

我在 Pub/Sub 方面没有太多经验。

谢谢。

【问题讨论】:

  • 在成功发送到端点后是否需要保存数据?不能并行化?
  • 是的,当然!请求成功后需要保存数据。
  • Cloud Pub/Sub 可以使用客户端库以最佳方式实现,但您能否说明为什么要使用 REST API 实现它?
  • 我想验证来自 Pub/Sub 的负载是否是有效数据。

标签: database rest microservices google-cloud-pubsub subscription


【解决方案1】:

因为您的架构是异步的,我建议您采用这种方法

  1. PubSub 推送订阅(初始主题)
  2. 调用 HTTP 服务的 Cloud Run 服务。如果成功,在 PubSub 中发布消息 3 PubSub 推送订阅(关于成功的 HTTP REST API 调用的主题)
  3. 将数据保存在数据库中的 Cloud Run 服务。

该架构是幂等且可扩展的。您可以使用 Cloud Run 的并发参数来节省资金或加快进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2021-09-22
    • 2020-02-01
    • 2021-12-12
    • 2017-07-21
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多