Firebase云功能最佳实践



我对Firebase云功能的最佳实践有一些问题,任何见解和建议都将不胜感激!

  1. 初始化管理SDK的最佳位置在哪里,因为你只能做一次,你应该在一个单独的文件中进行,初始化你需要的服务(如Firestore和函数(并导出它们,还是在根目录index.ts初始化管理SDK
  2. 如果您有与单个事件相关的多个任务,您应该触发多个云函数来处理同一事件的不同任务,还是为处理多个任务的事件触发一个云函数。例如,如果您有一个文档创建事件,您希望在该事件中更新某些用户设置、发送电子邮件、将数据写入其他文档
  3. 为部署云功能的位置设置区域,您是否应该花时间为每个单独的功能选择最接近用户的区域?(我还没有看到在全球范围内设置它的选项(

谢谢你,

没有"更好的方式";做这些事情比官方文档中明确描述的要多,但考虑到你的问题主题,我会尽力帮助你提供对我有用的技巧(注意,我使用javascript在云函数上开发,而不是Typescript(:

  1. 从一个有组织的专用目录初始化管理SDK可能是一个好主意:先执行此操作,然后将其导入到index.js文件中。为什么?这将使您的index.js文件更小、更干净,并专注于云函数的导出。好处:我喜欢在index.js上导入adminSDK后立即将其定义为全局。以智能的方式处理全局可以提高应用程序的性能和其他好处

但要小心:全局变量在云功能执行过程中共享(更多信息请参阅下文(

  1. 在云函数上开发时,您应该记住:每个函数都是相互隔离的,同一个函数容器可以用于新的传入请求;云函数的第一次执行是在";"待机";将需要一些额外的时间-它被称为";冷启动";。如果你不做异步工作,你可能会在同一个函数上做所有事情——你已经在那里了。完整的Express.js应用程序、服务器端渲染的应用程序(例如Nuxt(和更复杂的东西都可以用一个函数实现

您应该观看这个Firebase YouTube频道系列,重点关注云功能:https://www.youtube.com/watch?v=DYfP-UIKxH0&list=PLl-K7zZEsYLkPZHe41m4jfAxUi0JjLgSM

  1. 为Firebase选择一个区域可以让您的用户体验更好。。。是否。请务必检查您的应用程序在每个地区使用的所有Firebase产品的可用性,否则当他们相互交谈时,结果可能会相反:

当选择在哪些区域运行函数时应该考虑延迟和可用性。你通常可以选择靠近用户的区域,但也应考虑您的应用程序使用的其他产品和服务的位置。使用跨多个区域的服务可能会影响应用程序的延迟,因为以及定价。https://firebase.google.com/docs/functions/locations

最新更新