# Odnajdywanie usług

Odnajdywanie usług (ang. Service Discovery) to ustalenie lokalizacji sieciowej usługi na podstawie jej pośredniego lub bezpośredniego identyfikatora.

W środowiskach lokalnych zakres zmian w lokalizacji sieciowej i ilości usług współpracujących jest ograniczony. To pozwala, aby każdej uruchomionej usłudze operator wskazał bezpośrednie dane do połączenia z innymi usługami, które powinny być wykorzystywane w komunikacji.

W przypadku środowiska chmury, istnieje możliwość, aby usługi miały zmienną lokalizację sieciową z powodu m. in. restartu, awarii i skalowania węzłów. Ręczne utrzymanie pliku konfiguracyjnego jest wówczas trudne lub po prostu niemożliwe. W celu umożliwienia odnajdywania usług wykorzystuje się wyspecjalizowane usługi, które mają możliwość wskazania dla korzystających z nich aktualnych lokalizacji innych usług. W komunikacji z tą usługą może być wykorzystywane m. in. protokół DNS, HTTP, etcd.

Przykładowo, w przypadku wykorzystania serwera typu "load-balancer", który równoważy ruch na kilka serwerów aplikacyjnych. Ich liczba może ulegać zmianie w celu obsłużenia zwiększonego ruchu lub prac administracyjnych. W środowisku lokalnych adresy serwerów aplikacyjnych mogłyby zostać wprowadzone do konfiguracji serwera typu "load-balancer". W przypadku środowiska chmury load-balancer informacje o lokalizacji sieciowej dostępnych serwerów aplikacji uzyska od wspomnianej wyspecjalizowanej usługi umożliwiającej odnajdywanie usług.

# Odnajdywanie jednostkowego Zasobu

Adres dostępowy Zasobu stanowi właściwość Zasobu przydzieloną przez Platformę dla Zasobów, do których istnieje możliwość połączenia z sieci Internet. Adres dostępowy Zasobu umożliwia zidentyfikowanie lokalizacji sieciowej Punktu Końcowego tj. adresu IP z wykorzystaniem DNS. Adres dostępowy posiada format {identyfikator_zasobu}.{typ_zasobu}.{kategoria_zasobu}.{identyfikator_regionu}.hyperone.cloud.

Przykładowo, identyfikator 5cd16b4341486992c824b745.vm.compute.pl-waw-1.hyperone.cloud umożliwia połączenie do Wirtualnej Maszyny o identyfikatorze 5cd16b4341486992c824b745 w regionie pl-waw-1.

# Odnajdywanie puli Zasobów

Platforma umożliwia realizacje odnajdywanie usług w oparciu o pośredni identyfikator - odpowiednią nazwę lub tag. Ustalenie lokalizacji sieciowej odbywa się poprzez protokół DNS z wykorzystaniem adresów w formacie:

  • {nazwa_zasobu}-{id_projektu}.{typ_zasobu}.{typ_zasobu}.{identyfikator_regionu}.hyperone.cloud
  • {klucz_tagu}-{id_projektu}.{typ_zasobu}.{typ_zasobu}.{identyfikator-regionu}.hyperone.cloud

Przykładowo, w przypadku utworzenia dwóch Kontenerów w projekcie o identyfikatorze 5cd2bd5dc7b8b31d52d8ab43 w regionie pl-waw-1 o nazwie app-www możliwe jest odnalezienie ich poprzez adres app-www-5cd2bd5dc7b8b31d52d8ab43.instance.container.pl-waw-1.hyperone.cloud. Wykorzystanie tego adresu sprawia, że usunięcie lub utworzenie kolejnego Kontenera o nazwie app-www nie będzie wymagała rekonfiguracji usług go wykorzystującego. Stanowi to duże uproszczenie np. podczas wdrożenia nowej wersji.

Czy uważasz ten artykuł za przydatny? Tak Nie