javascript - 使用 node.js 构建的 Cron 作业
问题描述
我们的团队正在使用 node.js 构建 cron 作业,将 DB2 数据库中的地址记录同步到弹性搜索中,他们觉得 node.js 不支持这些高强度的 cron 作业,需要将 DB2 中的近 2100 万条记录同步到弹性搜索搜索,他们经常面临一些高内存问题并且无法解决这些问题,这些内存问题导致 cron 作业终止,而同步没有正确发生,他们觉得我们可以使用 Java 开发应用程序,这是真的吗? .js不如java,不能用于开发高性能的cron作业吗??,谢谢各位,这个应用程序的现有实现是用Java构建的,hibernate已被用作ORM工具,因为我们正在节点中重建它.我已经要求他们使用 SQLAlchemy,这是一个基于 python 的 ORM,但仍然有很多关于使用 Java 和休眠的色调和哭泣,SQL Alchemy 对 Java 休眠有多好需要你的想法
解决方案
除非您最终使用大量“内置”或所谓的标准库,否则语言通常不会决定性能,这是最常见的情况。
众所周知,Java 是一个内存消耗者,因此这回答了 Java 部分。
Node.js 肯定更好,但如果你真的需要高性能代码,你将不得不降低——Golang 更好,c++ 更好。
关于您的性能问题,如果查询时间和数量不是问题,您应该避免一次性抓取大型数据集。当您查询大型内容时,整个响应现在将驻留在内存中,直到您销毁结果。对于迁移,最好循环遍历小块数据,这将减少内存压力。
推荐阅读
- katacoda - 您如何避免登录新的 katacoda 场景
- tensorflow - 我有一个 hrnn 的名称和张量。无论如何我可以重建hrnn吗?
- asp.net - 使用 Asp.net Web 应用程序将 JWT 令牌存储在 Redis 缓存中
- datagrid - 在数据网格中隐藏/显示列:列不会自动调整大小
- javascript - JavaScript中带有嵌套while循环的无限for循环
- git - WSL1 上的 VSCode 未检测到 git repo
- python - 使用 mpiexec 时在 python 中向 .csv 文件添加行
- javascript - Highcharts Gantt - 如何为里程碑标记使用不同的形状?
- html - 粘性侧栏组件不会粘在顶部 - React + SCSS
- powershell - AD FS 添加计算机间歇性失败