热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Firebase的云功能是否会使firebase-queue过时?

如何解决《Firebase的云功能是否会使firebase-queue过时?》经验,为你挑选了3个好方法。

我已经编写了一些服务器端代码来使用firebase-queue](https://github.com/firebase/firebase-queue)来实现可扩展性,然而,随着Cloudbase for Firebase的发布(以及它对自动可扩展性的承诺) ,我想知道是否需要队列......有没有人将这两种技术结合起来以达到更大的目的?特别是像@Frank van Puffelen这样的Firebase开发者,函数会替换firebase-queue吗?



1> Frank van Pu..:

这里有一个firebaser

我不确定firebase-queue是否过时.时间将不得不说明.

但是我们现在肯定在很多情况下使用Cloud Functions for Firebase,我们以前使用过firebase-queue和node worker进程.不再需要使用我们自己的Node.js进程可以提高开发速度.事实证明,云功能的自动扩展已经非常宝贵.

将云功能与firebase-queue结合起来似乎不合逻辑.如果只是将节点附加到数据库并在函数中使用它们,则无需额外的库就可以获得相同的行为.

更新:我们的一位数据库工程师刚刚给出了一个函数无法替换队列的场景.进行备份时,工作人员需要安装和卸载远程磁盘.在云功能中可以执行该任务,在独立的自我管理节点流程中更容易完成.



2> jjjjs..:

我不认为Firebase云功能应该使firebase-queue过时,我认为想要将firebase-queue与云功能结合起来并不合理,如@@ Frank van Puffelen所说.

Firebase队列提供的不仅仅是任务监听firebase和启动任务的方式.它为各方之间的通信提供协议,用于分配和响应任务请求,协调失败任务的重试,报告进度,状态和其他元数据.这允许的任务之一是任务链.

我认为Firebase或第三方开发firebase-functions-queue软件包对扩展firebase-functions并允许你编写一个firebase云功能与firebase-queue具有相同的签名是有用的.像这样的东西:

const functiOns= require('firebase-functions');
const functions-queue = require('firebase-functions-queue'); //extends firebase-functions with onQueue function

admin.initializeApp(functions.config().firebase);

functions.database.ref('/queue').onQueue(options,function(data,progress,resolve,reject){
    ...
    })

这个新包就像firebase-queue一样工作并使用相同的元数据和选项,除了它不需要处理多个工作进程的管理,因为云功能已经自动无缝地完成了这一过程.

这将具有以下优点:

允许firebase开发人员使用标准方式将作业分配给队列,监视进度,失败等.

应用程序可以将作业分配给队列,而不关心它是由云功能还是其他环境处理.

开发人员可以使用现有队列并将其从节点服务器移动到云功能,而无需更改客户端应用程序.

它甚至可以允许任务链接,其中一个任务可以由云功能处理,另一个任务可以由同一作业内的不同服务器处理.



3> Kato..:

我认为它不像说取代firebase-queue那么简单.理想情况下,您可以将函数用于firebase-queue的大多数常见用例.

但是,无论如何,使用firebase-queue可能还有一些合理的理由.

    它是一个非常强大的排队系统,允许您使用多状态任务,并允许您设置工作人员的数量.

    它在您指定的环境中运行而不是App Engine(您可以在服务器上安装GAE中不可用的二进制文件).

    根据带宽与调用的具体情况,可能更便宜.

    它可以免费联系第三方端点,而功能需要付费帐户.

    功能仍处于测试阶段且不提供SLA,它们目前还有一些启动延迟,这些启动延迟在firebase-queue中无法实现(这一点在GA发布时间内应该变为无效).


推荐阅读
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • React项目中运用React技巧解决实际问题的总结
    本文总结了在React项目中如何运用React技巧解决一些实际问题,包括取消请求和页面卸载的关联,利用useEffect和AbortController等技术实现请求的取消。文章中的代码是简化后的例子,但思想是相通的。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • Linux的uucico命令使用方法及工作模式介绍
    本文介绍了Linux的uucico命令的使用方法和工作模式,包括主动模式和附属模式。uucico是用来处理uucp或uux送到队列的文件传输工具,具有操作简单快捷、实用性强的特点。文章还介绍了uucico命令的参数及其说明,包括-c或--quiet、-C或--ifwork、-D或--nodetach、-e或--loop、-f或--force、-i或--stdin、-I--config、-l或--prompt等。通过本文的学习,读者可以更好地掌握Linux的uucico命令的使用方法。 ... [详细]
author-avatar
十万个蓝色天空_917
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有