gpt4 book ai didi

node.js - 如何修改现有的 java 应用程序以利用 nodejs 功能?

转载 作者:行者123 更新时间:2023-11-29 00:00:03 24 4
gpt4 key购买 nike

基本上,我有一个在 apache tomcat 上运行的现有 java 应用程序。

但我想检查 nodejs 是否可以帮助扩展现有的 java 应用程序(即由于 node.js 的事件驱动特性,能够处理大量请求),这样我就不必更改代码java 应用程序...所以我想出了一个架构如下:-

我想通过 node.js 服务器接收请求(即使用 node.js 的属性来处理与 apache tomcat 相比的大量请求)并通过其间的消息队列将其传递给 apache tomcat(它可以是任何。主要是我对使用 ActiveMQ 感兴趣,因为 tomcat 和 activemq 都是 apache 产品)。

我想将响应从 apache tomcat 传回 nodejs 服务器..(这看起来有点棘手,即如何维护响应应该服务于哪个请求)

我想确认这样的架构是否可行。如果是,那么如何..???如果不是,那么请提出其他建议...

最佳答案

Node.js 速度很快,因为它使用异步 IO。意思是,当有一个文件操作时,它不会阻塞下一个操作,而是让服务器在同一个线程上做其他事情。

这改变了 node.js 上程序的工作方式以及必须使用事件驱动代码的方式。

您正在考虑的机制只有在您可以将请求分解为 node.js 服务器上的多个任务并为每个子任务使用适当的参数异步调用您的 apache 服务器的情况下才有用,这将意味着多个任务将根据 node.js 的相同请求启动,node.js 将等待每个任务的事件完成。

这可能需要大量工作,并且意味着您将 Controller 逻辑迁移到 node.js 并将 View /html 等和数据访问层保留在 java 中。

请注意,如果您不能为单个请求并行启动任务,由于 Apache 端的逻辑类型,您将最终重新开发整个应用程序,然后才能获得任何显着的性能改进。

更好的方法是针对更快的后端进行步骤更改。下面概述了一些步骤

  1. 基于在服务器端使用 json 或 xml 并使用不需要处理的单个或多个 html 静态文件发送 View 来制作应用程序 API 的缓慢部分。为静态 html 添加缓存也有帮助。需要在前端进行大量开发。
  2. 将耗费大量时间的 API 调用转移到在同一台服务器上运行的 node.js 服务器,连接到相同的数据库/数据源。

关于node.js - 如何修改现有的 java 应用程序以利用 nodejs 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com