【问题标题】:Running Java program on multiple servers [closed]在多台服务器上运行 Java 程序 [关闭]
【发布时间】:2017-10-01 08:07:31
【问题描述】:

我编写了一个 Java 程序来填充数据库。目前我在服务器上运行程序并在服务器上填充数据库。

现在我需要在本地运行程序,并在多个服务器中填充数据库。 (在所有服务器上都是同一个数据库)。

我将如何解决这个问题,java 是否允许我连接到服务器以运行代码然后断开连接然后与另一台服务器重复?

例如有没有办法通过ssh连接,然后断开连接,通过ssh连接到另一台服务器,重复运行程序?

【问题讨论】:

  • 不。我猜只有ssh。除非你写了客户端服务器应用程序
  • 为什么同一个数据库在多台服务器上?每个客户都有自己的吗?没有理由将它们结合起来?复制通常是一种不好的做法。
  • 挑战这种方法......为什么不让服务器相互复制/同步?分布式数据库除了作为备份之外还有其他好处。此外,连接/断开连接的情况似乎并不理想......我建议至少使用多层解决方案、网络服务等......
  • 还有为什么需要ssh连接,不能远程连接数据库而是直接使用jdbc?
  • 你的情况和我想的很不一样。我实际上会扭转整个情况,让客户服务器“回调”您的服务以获取他们需要的任何数据。您的服务将自行在服务器中运行,而不仅仅是“本地”。谷歌“java ee 7 jax-rs”。

标签: java ssh server


【解决方案1】:

假设您使用 JDCB 连接到数据库,您可能会使用与此类似的连接字符串:

jdbc:mysql://localhost:3306/dbname

您可能没有指定localhost 或端口号,在这种情况下,您的连接字符串将如下所示:

jdbc:mysql://dbname

在这种情况下,将使用默认主机(localist)和默认端口。

要连接到不同服务器上的数据库,您需要在连接字符串中指定 IP 地址或服务器的主机名:

jdbc:mysql://123.123.123.123:3306/dbname
jdbc:mysql://my-db-server.com:3306/dbname

【讨论】:

    【解决方案2】:

    您可以创建多个 java.sql.Connection 实例,每个实例用于您要连接的每个数据库。 http://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 2021-03-02
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多