2015-09-29 16 views
1
  1. 我有一个运行postgres的马拉松应用程序。 [即。 db-instance]
  2. 我还有另一个应用程序在马拉松上运行,它需要使用jdbc属性文件中的数据库URL连接到第一个应用程序。 [viz app-instance]

这两个都是码头化的。 当马拉松旋出“db-instance”时,它会在集群中的不同从节点上启动。通过jdbc获取连接到马拉松应用程序的URL

那么,如何指定在“应用实例”的JDBC URL,以便它能够连接到“DB-实例”

回答

1

您可以使用Mesos DNS这一点。通过这种方式,您不仅可以指定app-instance中的host:port连接到db-instance,而且还可以指定名称。通过Marathon启动的每个应用程序都会得到一个名称,如db-instance.marathon.mesos,这样您就不需要打扰IP地址,但可以指定db连接字符串,如db-instance.marathon.mesos:port

希望这会有所帮助。

+0

你测试过了吗? AFAIU客户端需要知道和理解SRV记录才能获得主机和端口的db容器 –

+0

是的,我使用的是mesos-dns和类似的东西,https://github.com/CiscoCloud/mesos-consul。只要您将这些服务设置为主DNS服务器,客户端就不需要知道和理解SRV记录。你可以阅读如何做到这一点https://mesosphere.github.io/mesos-dns/docs/ – serejja

+0

仍然需要'硬编码'在你的例子中的端口是不可取的 –

相关问题