Java 为来自不同服务器的用户提供服务

Java 为来自不同服务器的用户提供服务,java,session,tomcat,mean-stack,Java,Session,Tomcat,Mean Stack,我正在构建一个目录web应用程序(像amazon、ebay这样的在线购物),并使用MEAN stack来提供数据。我将所有产品信息存储在mongo中 我想做的是,当一个用户想要购买一个产品,即他点击buy按钮时,他应该被重定向到另一个服务器(运行MySQL和tomcat)来完成剩下的过程。换句话说,我想在java和mySQL端处理用户订单。我还想在此时对用户进行身份验证,即管理会话 在这种情况下,显然我不能在两台服务器之间共享会话信息。所以,我的问题是,如何向用户提供透明度?我不想让用户知道,在

我正在构建一个目录web应用程序(像amazon、ebay这样的在线购物),并使用MEAN stack来提供数据。我将所有产品信息存储在mongo中

我想做的是,当一个用户想要购买一个产品,即他点击buy按钮时,他应该被重定向到另一个服务器(运行MySQL和tomcat)来完成剩下的过程。换句话说,我想在java和mySQL端处理用户订单。我还想在此时对用户进行身份验证,即管理会话

在这种情况下,显然我不能在两台服务器之间共享会话信息。所以,我的问题是,如何向用户提供透明度?我不想让用户知道,在下订单时,他正在接受另一台服务器的服务


这里的主要目的是让用户自由浏览目录并下订单,而不让他知道有两台服务器在为他服务。

您可以在MEAN服务器上序列化会话,将其发送给Tomcat,将其反序列化并解析为活动会话对象。然后,您可以使用会话ID作为查询参数进行重定向(Cookies将不起作用,因为它们仅限于从原始服务器读取),并将传入用户连接到先前创建的会话对象。不过,您必须找到一种方法来规避所有防止会话劫持的对策

问题是:你为什么要这样做?此体系结构至少打破了两个基本原则()。这个系统将更难维护(从开发和运营角度来看),更容易停机(至少有四个部分可能会失败,而不是一个,并且您必须首先利用Tomcat端的安全措施使其工作


假设您已经准备好tomcat端(由您自己或提供):只需将它的上下文路径设置为类似于
/shop
的内容,然后将应用程序的其余部分放到tomcat服务器上的
/
。消除了一定程度的复杂性,应该更易于维护和部署。

感谢您的回复。我创建此应用程序只是为了掌握一些技术,并了解它们如何与eac通信h其他。