我们将后端技术堆栈迁移到 Rust、Java 和 Angular,原因如下

image description

我们已完成 Finotes 的服务器技术堆栈迁移。

对于那些不知道 Finotes 是什么的人(哦!我们在营销方面还有很多工作要做),它是一个轻量级 SDK,当集成到任何 #iOS 或 #Android 应用程序时,可以捕获错误和内存等性能问题泄漏、网络调用问题、帧率问题、ANR/应用程序挂起、崩溃、屏幕加载延迟等等。

我们的后端负载很重(哦,是的,移动应用程序中存在的错误数量比许多人想象的要高得多,我们捕获并报告所有这些错误)并且操作是内存密集型的。我们的 CPU 使用率处于可管理的水平。

我们的旧堆栈是#Java + #NodeJS + #AngularJS(旧的),其中Java用于核心模块,NodeJS用于仪表板后端,AngularJS用于前端。现在我们使用 #Rust 进行核心重负载操作,使用 Java (#SpringBoot) 进行仪表板后端,使用 #Angular 进行前端。我们还将 RDBMS 迁移到分布式表架构,以实现高效插入。

立即学习“Java免费学习笔记(深入)”;

选择 Rust 的原因是为了确保比 GC 语言更好的内存效率。单一所有者内存模型对代码来说是一个挑战,但在内存效率方面,这些努力得到了回报。将写一篇单独的详细文章,介绍我们新的基于 Rust 的核心引擎与之前基于 Java 的核心引擎在内存使用方面的比较。

从 NodeJS 迁移到 Java Spring Boot 是理所当然的事情,因为我们希望有一种编译语言能够在不暴露代码的情况下提供许可的企业解决方案。

选择 Angular 作为前端是内部争论最多的决定。旧的 AngularJS 已经过时了,我们希望转向更好、更现代的框架。 React(更像是一个库,而不是一个框架)与 Angular 的争论持续了很多天。最终,更好的可维护性赢得了胜利,我们决定选择 Angular。

如果您是处于早期阶段的产品初创公司,并且正在考虑不同的技术堆栈选项,或者您正在考虑迁移到新的技术堆栈选项,那么很高兴分享我们的经验教训以及我们如何通过新技术显着降低服务器成本堆。在 LinkedIn 上私信我。

此处分享的是我们仪表板的屏幕截图。顺便说一句,这不是最后一个,因为这已经是几个冲刺的历史了。最近,我们相信一些新功能不仅对开发人员而且对软件工程领导团队都有很大价值。如果您是移动优先公司的工程领导团队的一员,很乐意展示新功能的演示。如果您有兴趣,请在 LinkedIn 上私信我。

以上就是我们将后端技术堆栈迁移到 Rust、Java 和 Angular,原因如下的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1493346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
使用 Nuxt v3 设置 Supabase Auth
上一篇 2025年12月19日 15:36:45
JavaScript 快速入门:糟糕的比较
下一篇 2025年12月19日 15:37:00

相关推荐

  • 怎么安装html5_HTML5开发环境安装与配置详细步骤

    答案是配置HTML5开发环境需三步:1. 安装VS Code等编辑器并配置插件;2. 使用Chrome或Firefox测试页面;3. 可选搭建本地服务器,如Live Server或http-server;最后创建index.html文件验证环境。 安装HTML5开发环境其实并不复杂,因为HTML5本…

    2026年5月10日
    000
  • c#一般用在哪里

    C# 的主要应用领域包括:桌面应用程序开发Web 应用程序开发游戏开发移动应用程序开发云计算数据科学等 C# 的主要应用领域 C# 是一门强大的面向对象编程语言,广泛应用于以下领域: 桌面应用程序开发 C# 经常用于构建用户友好的桌面应用程序,具有丰富的用户界面功能。例如:Windows 窗体应用程…

    2026年5月10日
    000
  • 通过示例在 Unity 和 NodeJS 上的游戏中创建安全、快速的多人游戏

    介绍 规划多人游戏开发方法 – 在整个项目的进一步开发中发挥着最重要的作用之一,因为它包含了我们在创建真正高质量的产品时应该考虑的许多标准。在今天的宣言教程中,我们将看一个方法示例,该方法使我们能够创建真正快速的游戏,同时尊重所有安全和反违规规则。 所以,让我们定义我们的主要标准: 多人…

    2026年5月10日
    000
  • C++在移动应用程序开发中的潜力:人才和资源

    c++++在移动开发中潜力巨大,原因在于:庞大的开发者社区和丰富的学习资源;高效内存管理和低级控制,带来卓越性能;wora模型,一次编写即可跨安卓、ios、windows运行;广泛用于游戏引擎开发,低延迟和资源管理功能满足高性能游戏需求。 C++在移动应用程序开发中的潜力:人才和资源 C++ 以其高…

    2026年5月10日
    000
  • Nodejs 事件循环

    大家好,在第一篇文章中,我将写有关事件循环(主循环、主线程、事件线程等…)的内容,这是真正想了解 Javascript 的人思考的主题之一。我还想补充一点,这篇文章将是我自己做的笔记的汇编,而不是专业的。我为我的错误提前道歉。在下图中,您可以看到 Nodejs 中的 javascript…

    2026年5月10日
    200
  • 手机运行typescript的方法

    可以通过以下方法在手机上运行 TypeScript:使用编译器(如 TypeScript Playground、TSLint)、使用框架(如 Capacitor、Ionic)或使用转换器(如 Babel)。编译器适用于快速测试,框架适用于原生移动应用程序开发,转换器适用于在移动浏览器中运行 Type…

    2026年5月10日
    000
  • Node.js中ES模块与CommonJS的导入兼容性指南

    本文旨在解决node.js应用中,当试图使用es模块(`import`语句)导入包时遇到的`syntaxerror: cannot use import statement outside a module`错误。核心解决方案是在`package.json`文件中设置`”type&#82…

    2026年5月10日
    000
  • C++ 框架在特定领域的挑战:与其他框架的困难对比

    在特定领域,c++++ 框架面临着一些挑战,包括:web 开发:与动态语言相比缺乏灵活性,并发问题移动开发:缺乏本机 ui 组件,内存管理挑战机器学习:生态系统较小,性能开销与其他框架对比:python:缺乏 c++ 的性能java:运行时开销node.js:缺乏原始性能 C++ 框架在特定领域的挑…

    2026年5月10日
    000
  • 配置 Tailwind CSS:初始化指南 |设置 Tailwind CSS:初始化指南

    简介 |简介意大利语:本文有意大利语和英语版本。向下滚动查看英文版本。英语:本文有意大利语和英语版本。向下滚动查看英文版本。 意大利语版 如何开始使用 tailwind css:项目完整指南 简介 在项目中配置 tailwind css 第一次似乎令人畏惧,特别是对于像我这样第一次尝试这个库的人来说…

    2025年12月24日
    000
  • 如何设置独立 CLI:在 Shopify 中使用 Tailwind CSS,而不使用 Nodejs

    依赖关系 Shopify CLI:一种命令行界面工具,可帮助您开发和管理 Shopify 主题。TailwindCSS:实用程序优先的 CSS 框架,用于快速构建自定义设计。 设置 我们使用 Tailwind 作为独立的 CLI 工具。更多信息可以参考官方指南。 注意:如果您在配备 Intel 处理…

    2025年12月24日
    500
  • 提升我的 Web 开发技能:HNG 实习和前端技术的迷人世界

    开始新事物的兴奋感永远不会消失,尤其是当它涉及到像 HNG 实习这样的强化项目时 [https://hng.tech/internship 和 https://hng.tech/premium]。这就像再次参加编码训练营,但这一次有令人兴奋的机会来突破我的极限并加快学习速度。 HNG 实习中真正令我…

    2025年12月24日
    000
  • 谷歌怎么下载html5_HTML5无需下载浏览器直接渲染运行页面文件【说明】

    HTML5不是需下载的软件,而是浏览器原生标准;Chrome默认支持,可通过file://协议直接打开本地.html文件,或用http-server启动本地服务器以支持完整API功能。 如果您已编写好HTML5页面文件,但误以为需要“下载HTML5”才能运行,则需明确:HTML5不是可下载的独立软件…

    2025年12月23日
    000
  • 手机编程html5工具_移动端代码编辑器推荐【指南】

    推荐五款移动端HTML5编辑器:Acode Editor支持一键预览;DroidEdit Pro可FTP/SFTP远程编辑;Codeanywhere提供云端IDE与Git集成;SpckEditor专注极简单页开发;Termux组合方案实现命令行本地服务。 如果您希望在手机上直接编写、调试和预览 HT…

    2025年12月23日
    100
  • Linux polybar状态栏,HTML+CSS加载进度实时!

    可通过 Bash 脚本在 Polybar 中模拟 HTML+CSS 风格进度条,利用 %{F#color} 标记和块字符 ▮ 动态显示已完成与未完成部分,结合实时任务进度输出格式化文本。 如果您希望在 Linux 的 Polybar 状态栏中显示一个基于 HTML+CSS 风格的加载进度条,并实时反…

    2025年12月23日
    000
  • Node.js Puppeteer爬虫的部署与自动化运行指南

    本教程详细指导如何部署基于node.js和puppeteer的网络爬虫,并实现其自动化定时执行。文章区分了前端静态网站与后端node.js脚本的部署策略,重点介绍了在windows环境下使用任务计划程序(task scheduler)进行定时任务配置的方法,同时提及了cors问题产生的原因及解决方案…

    2025年12月23日
    000
  • Linux Debian用Gulp自动化,CSS编译HTML零等待!

    首先安装Node.js与npm,再初始化项目并安装Gulp及插件,接着配置gulpfile.js定义Sass编译与浏览器同步任务,最后通过gulp命令启动自动化流程,实现CSS即时编译与HTML实时更新。 如果您希望在Linux Debian系统中通过Gulp实现自动化工作流,以达到CSS即时编译、…

    2025年12月23日
    000
  • Node.js爬虫的服务器端部署与定时任务配置指南

    本文旨在指导开发者如何部署基于%ignore_a_1%的puppeteer网络爬虫,并实现其定时自动化运行。针对本地开发环境,文章详细介绍了利用windows任务计划程序配置定时任务的步骤,确保node.js脚本能按预设时间自动执行,更新数据。同时,文章也探讨了生产环境下的部署思路,强调了客户端与服…

    2025年12月23日
    000
  • Node.js爬虫的部署、调度与静态网站数据集成指南

    本教程详细阐述如何部署和自动化运行node.js网络爬虫,实现定时数据抓取并更新静态网站内容。我们将探讨node.js脚本的服务器端运行机制、windows任务计划程序等调度工具的配置,以及爬取数据与静态html页面集成的策略,旨在帮助您构建高效且自动化的数据更新流程。 1. 理解Node.js爬虫…

    2025年12月23日
    000
  • 部署与自动化运行Node.js网络爬虫:使用Windows任务计划程序

    本文将指导您如何部署一个基于node.js和puppeteer的网络爬虫,并利用windows任务计划程序实现其每日定时自动运行。我们将深入探讨服务器端脚本与静态网页的区别,提供详细的步骤配置任务计划,并讨论在自动化过程中需要注意的关键事项,如资源管理、错误处理及跨平台部署思路。 理解Node.js…

    2025年12月23日
    000
  • 部署与调度Node.js爬虫:从本地执行到云端集成

    本教程详细指导如何部署和调度一个基于node.js的网页爬虫,使其能够每日自动运行并将其数据提供给前端应用。文章将区分客户端与服务器端javascript的运行环境,介绍本地任务调度方法,并探讨将爬虫集成到在线服务以实现数据共享的策略,同时涵盖数据持久化、cors处理及部署最佳实践。 1. 理解No…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信