Udostępnij za pośrednictwem


Siatki elementów równorzędnych

Siatka to nazwana kolekcja (wzajemnie połączony graf) węzłów równorzędnych, które mogą komunikować się między sobą i które są identyfikowane przez unikatowy identyfikator siatki. Każdy węzeł jest połączony z wieloma innymi węzłami. W dobrze połączonej siatki istnieje ścieżka między dwoma węzłami, z stosunkowo kilkoma przeskokami między węzłami na najdalejszych krawędziach siatki, a siatka pozostanie połączona, nawet jeśli niektóre węzły lub połączenia wypadną. Aktywne węzły w siatce publikują informacje o punkcie końcowym przy użyciu odpowiedniego identyfikatora siatki, aby inni równorzędni mogli je znaleźć.

Cechy siatki utworzonej przy użyciu kanału równorzędnego

Jednoznacznie zidentyfikowane

  • Unikatowy identyfikator identyfikuje każdą siatkę. Nazwa siatki (lub identyfikator siatki) ma taki sam format jak nazwa hosta systemu nazw domen (DNS). W związku z tym ten identyfikator siatki musi być unikatowy dla zamierzonego klienta aplikacji w zakresie używanego rozpoznawania nazw. Nazwa pospolita, taka jak "MyFamilysPeers" lub "KevinsPokerTable", może łatwo zderzać się z innymi nazwami użytkowników i może zwracać niezamierzone informacje o punkcie końcowym elementu równorzędnego, co może spowodować problemy z prywatnością lub zwiększyć opóźnienie połączenia. Jednym ze sposobów uniknięcia tych problemów może być dodanie unikatowego identyfikatora jako postfiksu do pseudonimu siatki (na przykład "KevinsPokerTable90210").

Powodzie komunikatów

  • Siatka umożliwia propagację komunikatów z co najmniej jednego nadawcy do wszystkich innych węzłów równorzędnych w tej samej siatki. Komunikaty zalane węzłami równorzędnymi używają nagłówków określonych w przestrzeni nazw w lokalizacji http://schemas.microsoft.com/net/2006/05/peer.

Zoptymalizowane Połączenie iony

  • Siatka kanału równorzędnego automatycznie dostosowuje się, gdy węzły łączą się i opuszczają, zapewniając, że wszystkie węzły mają dobrą łączność z niewielką szansą na utworzenie partycji (grupy węzłów odizolowane od siebie). Połączenie iony w siatce są również dynamicznie optymalizowane na podstawie bieżących wzorców ruchu, dzięki czemu opóźnienie komunikatów od nadawcy do odbiorcy jest możliwie najmniejsze.

Ważne jest, aby pamiętać o popularnych funkcjach sieciowych, które nie zapewniają kanału równorzędnego. Te funkcje, które mogą być oparte na kanale równorzędnym, obejmują następujące elementy:

  • Porządkowanie komunikatów: komunikaty pochodzące z jednego źródła mogą nie docierać do wszystkich innych stron w tej samej kolejności lub w kolejności, w jaką źródło wysłało. Aplikacje, które wymagają dostarczenia komunikatów w określonej kolejności, muszą je skompilować w swoich aplikacjach (na przykład przez dołączenie monotonicznie rosnącego identyfikatora ze wszystkimi komunikatami).

  • Niezawodna obsługa komunikatów: kanał równorzędny nie zawiera mechanizmu zapewniającego odbieranie komunikatów przez wszystkich elementów równorzędnych. Aby zagwarantować dostarczanie komunikatów, musisz napisać warstwę niezawodności na podstawie kanału równorzędnego.