我正在一个有两个服务器(tomcat)的项目中,服务器A提供了从DB(MySQL)到前端的信息的初始快照。服务器B为服务器A提供更新,这两个服务器都需要通信。如何连接它们?非常感谢您的帮助。
Tomcat通常接受HTTP / S请求。因此,您可以在Tomcat A中编写自己的servlet(并将它们作为URI发布)以接受应更新到DB的数据。然后,服务器B必须充当服务器A的客户端,在需要时启动通信,并将数据作为HTTP请求发送到服务器A。
考虑到安全性,我还建议服务器A禁止来自服务器B的对更新URI的任何请求。例如,通过标准JEE安全性保护更新URI。
可以通过多种方式将在同一主机上运行的两个Tomcat实例设置为相互通信。在“服务器” Tomcat实例中实现REST服务并使“客户端” Tomcat实例将REST请求发送到另一个实例是很常见的。通常使用Jersey或CXF框架来实现JAX-RS REST服务,或者可以使用Spring框架来实现更通用的Web请求处理程序。