如何在Firebase上进行事件驱动

德米特里·波罗霍夫(Dmitri Borohhov)

我们的启动是使用Firebase和Google Cloud的“原生云”。我们正在研究事件驱动的设计,但是很难将其与Firebase或GCP上的特定服务相匹配。

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

  • 通过电子邮件和推送通知通知其他参与合同的用户
  • 写入通知表,以便用户可以在应用程序中使用“收件箱”并将其标记为已读或已删除
  • 生成一个将在一个月内轮询合同的作业,如果它没有更改状态,请删除合同
  • 在服务器上运行一系列计算

到目前为止,我们已经设法将这些操作放入Cloud Function触发器中,但是我们的触发器代码变得混乱,并且在极少数情况下,这些操作运行在Cloud Function阈值之上(2GB和9分钟)。

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

  1. 用户正在创建合同(Cloud Firestore)
  2. Cloud Firestore触发器创建事件(Cloud Functions)
  3. 需要对其进行处理的服务将订阅事件流并执行适当的操作。(这是什么?)

我已经研究过Pub / Sub,但认为这会太过分了,因为我们不必在GCP之外处理太多服务,而且我们的规模不需要atm。我们可以在Firebase工具范围内实现上述目标吗?

道格·史蒂文森

实际上,Pubsub正是您所需要的。这不是矫kill过正-它是Google Cloud中处理事件订阅的常见且首选的解决方案。实际上,Cloud Functions已经建立在pubsub之上。

Firebase工具实际上提供了自己的界面,用于部署pubsub Cloud Functions。您可以在文档中阅读有关内容但是,如果您需要的计算能力超出了Cloud Functions提供的能力,Firebase产品将无法为您提供帮助,因此您需要研究Compute Engine等Google Cloud产品。您仍然可能会使用pubsub来通知您选择的后端。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在textbox.text_changed(ASP.NET)上进行事件

来自分类Dev

如何在 Angular 中进行事件冒泡?

来自分类Dev

仅在元素单击相同的类上进行事件

来自分类Dev

在文本框上进行事件处理以加载图像

来自分类Dev

如何在Firebase表上进行联接

来自分类Dev

如何使用SynchronizingObject进行事件调用

来自分类Dev

如何使用 JournaledGrain 进行事件溯源

来自分类Dev

Chrome扩展程序:在当前选项卡上进行事件监听

来自分类Dev

如何为数组进行事件委托?(或NodeList)

来自分类Dev

如何在mongodb本机驱动程序的find()上进行字段选择?

来自分类Dev

如何在Windows驱动器上进行Thunderbird电子邮件(双启动)

来自分类Dev

如何在Windows驱动器上进行Thunderbird电子邮件(双启动)

来自分类Dev

如何在multiboot usb闪存驱动器上进行数据分区?

来自分类Dev

如何在生产中运行事件处理程序?

来自分类Dev

我可以使用服务网格进行事件驱动的消息传递吗?

来自分类Dev

Python 解释器使用什么机制来进行事件驱动编程?

来自分类Dev

如何在d3.js中的节点上进行双击事件?

来自分类Dev

Node.js:如何在Write Stream'finish'事件上进行write()

来自分类Dev

如何在d3.js中的节点上进行双击事件?

来自分类Dev

如何在CLIPS中进行事实的组合和排列

来自分类Dev

如何在 android Firebase 中运行事务

来自分类Dev

如何在CALayer上进行转换?

来自分类Dev

如何在agentset上进行MAP?

来自分类Dev

如何在Matlab上进行矩阵处理?

来自分类Dev

如何在文本上进行模式匹配?

来自分类Dev

如何在列表上进行多个悬停

来自分类Dev

如何在嵌套ArrayList上进行for循环?

来自分类Dev

如何在nginx上进行即时解密?

来自分类Dev

如何在图像上进行透明覆盖

Related 相关文章

  1. 1

    如何在textbox.text_changed(ASP.NET)上进行事件

  2. 2

    如何在 Angular 中进行事件冒泡?

  3. 3

    仅在元素单击相同的类上进行事件

  4. 4

    在文本框上进行事件处理以加载图像

  5. 5

    如何在Firebase表上进行联接

  6. 6

    如何使用SynchronizingObject进行事件调用

  7. 7

    如何使用 JournaledGrain 进行事件溯源

  8. 8

    Chrome扩展程序:在当前选项卡上进行事件监听

  9. 9

    如何为数组进行事件委托?(或NodeList)

  10. 10

    如何在mongodb本机驱动程序的find()上进行字段选择?

  11. 11

    如何在Windows驱动器上进行Thunderbird电子邮件(双启动)

  12. 12

    如何在Windows驱动器上进行Thunderbird电子邮件(双启动)

  13. 13

    如何在multiboot usb闪存驱动器上进行数据分区?

  14. 14

    如何在生产中运行事件处理程序?

  15. 15

    我可以使用服务网格进行事件驱动的消息传递吗?

  16. 16

    Python 解释器使用什么机制来进行事件驱动编程?

  17. 17

    如何在d3.js中的节点上进行双击事件?

  18. 18

    Node.js:如何在Write Stream'finish'事件上进行write()

  19. 19

    如何在d3.js中的节点上进行双击事件?

  20. 20

    如何在CLIPS中进行事实的组合和排列

  21. 21

    如何在 android Firebase 中运行事务

  22. 22

    如何在CALayer上进行转换?

  23. 23

    如何在agentset上进行MAP?

  24. 24

    如何在Matlab上进行矩阵处理?

  25. 25

    如何在文本上进行模式匹配?

  26. 26

    如何在列表上进行多个悬停

  27. 27

    如何在嵌套ArrayList上进行for循环?

  28. 28

    如何在nginx上进行即时解密?

  29. 29

    如何在图像上进行透明覆盖

热门标签

归档