2017-05-03 40 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。服務發現是動態的,並且可以適應,而不需要您重新啓動使用服務。 –

相關問題