如何在Firebase上执行事件驱动

如何在Firebase上执行事件驱动,firebase,google-cloud-platform,google-cloud-firestore,google-cloud-functions,Firebase,Google Cloud Platform,Google Cloud Firestore,Google Cloud Functions,我们的初创公司是使用Firebase和Google云的“云本地”公司。我们正在研究事件驱动设计,但我很难将概念与Firebase或GCP上的特定服务相匹配 例如:用户通过移动应用程序创建合同草案(Firestore文档)。我们需要触发以下操作: 通过电子邮件和 推送通知 写入通知表,以便用户可以在 应用程序并将其标记为已读或已删除 生成一个将在一个月内对合同进行轮询的作业,如果是 不改变状态,删除合同 在服务器上运行一系列计算 到目前为止,我们成功地将这些操作放入了云函数触发器中,但我们的触

我们的初创公司是使用Firebase和Google云的“云本地”公司。我们正在研究事件驱动设计,但我很难将概念与Firebase或GCP上的特定服务相匹配

例如:用户通过移动应用程序创建合同草案(Firestore文档)。我们需要触发以下操作:

  • 通过电子邮件和 推送通知
  • 写入通知表,以便用户可以在 应用程序并将其标记为已读或已删除
  • 生成一个将在一个月内对合同进行轮询的作业,如果是 不改变状态,删除合同
  • 在服务器上运行一系列计算
到目前为止,我们成功地将这些操作放入了云函数触发器中,但我们的触发器代码变得混乱,而且在极少数情况下,操作的运行速度超过了云函数阈值(2GB和9分钟)

我们计划改进代码库并减少基于触发器的操作:

  • 用户正在创建合同(云Firestore)
  • Cloud Firestore触发器创建一个事件(云函数)
  • 需要对此做些什么的服务订阅事件流并执行适当的操作。(这是什么?)

  • 我曾调查过酒吧/酒吧,但认为这是一种过火的行为,因为我们不必处理太多GCP以外的服务,我们的规模也不需要它。我们能否在Firebase工具的范围内实现上述目标?

    由于规模目前不是您的问题,您可以使用Firebase工具实现这些目标

    如果您还没有阅读过Cloud Firestore触发器,那么为了了解如何改进并使其在发生不同事件的情况下更能经得起未来的考验,您应该阅读一下Cloud Firestore触发器


    此外,如果您想使用服务创建订阅,以查找要执行的特定操作,那么您需要检查这一点并查看可观察对象。

    Pubsub实际上正是您所需要的。这并不过分——这是谷歌云中处理事件订阅的常见且首选的解决方案。事实上,云功能已经构建在pubsub之上

    Firebase工具实际上为部署pubsub云功能提供了自己的接口。你可以在报纸上看到。然而,如果您需要比云功能提供更多的计算能力,Firebase产品将不会帮助您,您需要研究Google云产品,如Compute Engine。您仍可能使用pubsub通知您选择的后端