目前,我正在将我们的web应用程序从传统的Spring应用程序升级到一个带有REST端点的单一页面应用程序。我们当前的前端MVC应用程序不使用REST调用与后端通信,而是通过直接调用必要的外观与后端(用JAVA编写)进行通信。JAR文件和WAR文件都打包在一个ear文件中,并部署在我们的生产服务器上(目前使用的是JBoss EAP 6)。
既然我们现在转向单一页面应用程序,并使用一组新的API来升级我们的系统,我想问的是,单页应用程序和其他用JAVA编写的后端是否应该托管在同一个服务器(JBoss EAP 6)上?或者应该将它们分割到单独的服务器上,一台用于服务SPA内容,另一台用于运行后端?在后一种情况下,哪个生产服务器最适合承载单个页面应用程序(JS、HTML和CSS)的内容?(我们的后端仍然托管在JBoss EAP 6上)
另外,在不同的服务器上分离前端和后端有什么好处呢?
我试图搜索使用JAVA端点部署单个Page应用程序的最佳实践,但我没有发现任何适合我们需要的有用文章。
提前谢谢!)
发布于 2016-08-05 14:22:34
要回答您的第一个查询:
约束/Gotchas :
- You can either put your JBOSS behind same Apache/Nginx reverse proxy that runs your static files.
- Or you can enable CORS on web services if your domains are separate.
- Lastly, jsonp is always an option if your web-services are JSON.
- Typically when you go with a full stack web framework like Spring you get a lot of security and authentication out of box. You can protect your site using sessions and CSRF etc. However with REST you typically have to use Token based authentication for your front end to speak with REST services. This is not necessarily difficult, but a different approach, and is hence listed under constraints.
优势:
单独的服务器或不分离
取决于您的应用程序需要处理的流量类型。让我说出三种情况。
注意:这些缩放场景不考虑数据库,因为您需要更多关于数据库的信息,以了解如何在上述场景中扩展数据库。
希望这有帮助,请告诉我,如果你需要更多的细节,在任何提到的事情。
发布于 2016-08-05 14:26:48
https://stackoverflow.com/questions/38791391
复制相似问题