【问题标题】:How do I communicate between/connect two tomcat servers如何在/连接两个 tomcat 服务器之间进行通信
【发布时间】:2020-05-28 14:13:17
【问题描述】:

我正在做一个项目,我有两台服务器(tomcat),服务器 A 提供从 DB(MySQL)到前端的信息的初始快照。服务器 B 向服务器 A 提供更新,两台服务器都需要通信。我如何连接它们?非常感谢您的帮助。

【问题讨论】:

  • 更多关于它们之间的连接是必要的信息。为什么不使用第三个 mysql 服务器呢?
  • 基本上我需要两台服务器进行通信,因为服务器 A 需要是更新数据库的服务器。服务器 B 只能将更改推送到服务器 A。
  • 我实际上并不确定需要什么类型的连接,这并没有指定给我。从在线研究我发现客户端服务器套接字连接,我不确定是否可以用于服务器服务器连接
  • @user12888775 服务器 B 开始与服务器 A 的通信是什么?是第 3 方的互动吗?是定时器编程事件吗?
  • Postman 将更新 ServerB 中的信息,serverB 只需将更改(使用定时器编程事件)传达给 serverA,serverA 将更新 DB。

标签: java mysql eclipse tomcat servlets


【解决方案1】:

Tomcat 通常接受 HTTP/S 请求。因此,您可以在 Tomcat A 中编写自己的 servlet(并将它们作为 URI 发布)以接受应更新到数据库的数据。然后,服务器 B 必须充当服务器 A 的客户端,随时启动通信,并将数据作为 HTTP 请求发送到服务器 A。

考虑到安全性,我还建议服务器 A 应禁止对并非来自服务器 B 的更新 URI 的任何请求。例如,通过标准 JEE 安全性保护更新 URI。

【讨论】:

    【解决方案2】:

    可以通过多种方式将运行在同一主机上的两个 Tomcat 实例设置为相互通信。在“服务器”Tomcat 实例中实现 REST 服务并让“客户端”Tomcat 实例将 REST 请求发送到另一个实例是很常见的。通常使用 Jersey 或 CXF 框架来实现 JAX-RS REST 服务,或者您可以使用 Spring 框架来实现更通用的 Web 请求处理程序。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2012-07-25
      • 2011-02-20
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 2013-01-08
      • 2012-02-16
      • 2020-05-17
      相关资源
      最近更新 更多