【发布时间】:2014-12-23 05:27:56
【问题描述】:
我有一个现有的网络应用程序。它在后端使用 Tomcat 和 MySQL 上的 Spring MVC 以及事务(多表更新)。我还在使用 spring security 进行基于角色的授权。这是一个非常典型的网站,没有任何实时通知、聊天等。
现在我的客户想要添加实时通知,如 Facebook、聊天模块等。通常在前端会采取一些行动,所有或特定登录用户都需要得到通知。收到通知后,我需要更新一些<div> 的内容。频率会很高。 (目前用户需要刷新浏览器。)
我使用 Node.js/Express 完成了 POC,看起来使用 Node.js 完成这两件事很容易。
我有 3 个选择:
- 将前端移至 Node.js,可能是 Angular.js。通过 Node.js/Angular.js 管理表单验证/安全性,但所有数据库调用仍由我的旧网站(以 RESTful 方式)管理,因为我可以重用现有的东西。大多数方法调用都返回一个 tile,但我们可以轻松转换为返回 JSON 对象。
- 保持现有网站不变,并将 Node.js 插入其中,仅用于实时通知/聊天等。
- 废弃现有网站并重做一切,包括使用 Node.js 的安全性和交易。有很多帖子说 Node.js 有点新,不适合企业应用程序,而且这可能太多了。
方法 2 将是我的首选方法,因为我们在 Spring 方面拥有专业知识,Node 对我们来说是全新的,但我不知道它是否实用可行,我可能会遇到什么样的问题面对。我也不确定如何将运行在 Tomcat 和 Node.js 上的 Spring MVC 集成在一起。
请任何人帮助我决定,在这三个中,最好的方法是什么?还有其他更简单的方法吗?
【问题讨论】:
-
请注意,Spring MVC 还支持 WebSockets 和其他现代连接选项,并且 Spring Session 使得跟踪用户状态非常容易。
-
Spring 已经支持 SockJS。谷歌一下。我认为您不需要实施新事物。 Spring SockJS 也将满足您的需求。
标签: node.js spring spring-mvc tomcat7