2017-05-03 39 views
0

可以说,我们已经部署在Cloud Foundry的一个春天启动的应用程序名为“APP1”,如果我们需要从另一个春天启动应用程序获取此应用程序的URI说动态获取应用程序的URI “app2”也在Cloud Foundry中部署在同一个空间中。这是可以通过在“APP 2”的代码给类似下面是否可以使用应用程序的名称从VCAP服务

$ {vcap.application.app1.uris [0]} //如果在APP 2

回答

1

的application.yml用这个,你不能这样做。由于应用程序在它们自己的容器中运行,即使它们处于相同的空间中,环境变量也不会在应用程序之间共享。

如果您知道哪个APP1正在使用,那么你可以使用APP 2的application_uris路线[0]替换和使用。

+0

酷!因此,应用性能不能等应用程序,如我们如何应用程序之间共享服务属性之间的结合在这里,因为没有应用程序结合的概念后共享。正确? –

+0

没错...服务绑定由CF支持的绑定服务的,因此性能的环境变量创建。但是没有应用程序绑定的概念,因此您不能在应用程序之间共享env变量。如果您使用的是Spring云,那么您可以考虑使用Eureka服务从netflix oss进行服务发现。 –

+0

如果您需要在应用程序之间传递数据的快捷方式(如服务的URL),则可以绑定用户提供的服务或使用'cf set-env'。当你需要动态发现和适应变化时,你想开始寻找服务发现的地方。如果您通过用户提供的服务/ env变量传递URL,则只能通过更新service/env变量并重新启动正在使用它的应用程序来更新该URL。服务发现是动态的,并且可以适应,而不需要您重新启动使用服务。 –

相关问题