我想实现这样的逻辑:客户端向具有单个 Controller 的服务器发送请求。该服务器解析 url 并根据端点选择另一台服务器来处理请求。第二台服务器以同样的方式发回响应。
我想使用 Spring Controller (MVC)。我也可以有几个 tomcat 服务器。
因此:客户端 -> 可以确定包含微服务的必要服务器的主 Controller -> 处理请求的端服务器,进入数据库等 -> 主 Controller -> 客户端。
如何让tomcat知道另一个tomcat?
最佳答案
How to make tomcat knows about another tomcat?
如果该 url(包含另一个服务器详细信息的 url)来自客户端,那么您需要从请求中提取它并创建另一个 httpRequest 并将其发送到另一个服务器(它将是服务器到服务器 server1>server2)或启动重定向请求(它将是 server1>client>server2),具体取决于要求。
参见 example here to send server to server http request
I also can have several tomcat servers.
您还可以考虑在同一个 tomcat 中使用多个 webapp,但这取决于您的要求。在这种情况下,不同之处在于将有单个 jvm 进程。有多个 tomcat 就会有尽可能多的 jvm 进程。
关于java - 将请求从 spring controller 重新发送到 spring controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39314807/