2013-04-03 33 views
5

Mam 3 aplikacje działające w prywatnej instancji vcap. Jeden działa jako klient, który stoi przed aplikacją internetową, podczas gdy inne są systemami zaplecza, jeden eksponuje usługi danych przez REST, który zużywa aplikacja internetowa, oraz inną aplikację, która asynchronicznie zapisuje dane do bazy danych poprzez rabbitmq.komunikacja wewnętrzna w odlewni chmur

Teraz moje pytania są następujące:

1) zamiast webapp stoi klient nazywają publiczny adres URL, w jaki sposób można komunikować się bezpośrednio do adresów URL resztą?

2) Jak powiązać aplikację webapp i program do zapisu bazy danych z tą samą instancją królika. Zrezygnuję z automatycznej rekonfiguracji, ale jak mogę uzyskać parametry połączenia z królikiem?

Odpowiedz

2

Zamierzam odpowiedzieć na te pytania w drugą stronę! Możesz powiązać aplikację, sprawdzając zmienną środowiskową VCAP_SERVICES, która będzie zawierała szczegóły związanej instancji Rabbit.

Po wdrożeniu instancji aplikacji jest ona uruchamiana na maszynie wirtualnej (zwanej DEA). Instancji aplikacji przypisany jest port w maszynie wirtualnej. Wewnętrznie wszystkie DEA mogą "widzieć" siebie nawzajem, więc nie ma powodu, dla którego aplikacja nie mogłaby rozmawiać na prywatnym adresie IP z inną aplikacją działającą na innym DEA.

Oczywiście nie wiesz, jaki prywatny adres IP, a nawet port aplikacji będzie działał, dopóki nie zostanie zepchnięty, więc sugerowałbym, aby każda aplikacja "rejestrowała" swój adres przez Rabbit po tym, jak została wypchnięta, aby druga strona aplikacje mogą go znaleźć.