如何使服务取决于另一台服务器在不同的服务器上?

我有一些需要由名册启动的java进程:

J1 on X --> J2 on Y --> J3 on Z 

我想到的一个想法是让J1自动启动,并使用Nagios + NRPE以J1状态为基础启动J2。 有没有更好的方法来做到这一点?

使用ssh公钥encryption。

我有这样的环境。 开始主(在你的例子J1 )将连接到主机Y和运行命令J2 。 再次,在你的例子中,我会让J2的启动做同样的事情:连接到Z并启动J3

用这种方式使用ssh (用公钥)从X启动J2:

 ssh -i J2-on-Y.key user@y start j2 

同样,在Y上启动J2会有这个命令:

 ssh -i J3-on-Z.key user@z start j3 

有了这个,启动J1会带来所有其他的。 不要忘记考虑closures – 以及尝试启动但是进程已经在运行的情况。