Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Elk knooppunt in de mesh publiceert de eindpuntinformatie naar de resolver-service via de Register functie. De resolver-service slaat deze informatie op als registratierecord. Deze record bevat een unieke id (RegistrationID) en eindpuntgegevens (PeerNodeAddress) voor het knooppunt.
Verouderde records en verlooptijd
In het ideale geval wordt de functie aangeroepen Unregister wanneer een knooppunt de mesh verlaat, waardoor de resolver-service de registratievermelding verwijdert. Soms worden knooppunten afgesloten of ontoegankelijk voordat ze Unregister aanroepen, waardoor een verouderd registratierecord achterblijft.
Verouderde records in uw resolver-service kunnen mislukte verbindingen veroorzaken. Als een knooppunt dat verbinding probeert te maken met een mesh verouderde verbindingsgegevens van de resolver-service ontvangt, kan het langer duren om verbinding te maken met de mesh. Verouderde records nemen ook geheugen in beslag. Zonder een efficiënt opschoningsproces kan de cache die wordt gebruikt om registraties op te slaan uiteindelijk overlopen en de resolver-service vastlopen.
De CustomPeerResolverService records worden gemarkeerd met een verlooptijd (Datum/tijd) en slaan die gegevens op als onderdeel van de record. De service gebruikt de verlooptijd om verouderde records te identificeren. Aangepaste implementaties moeten iets soortgelijks doen.
VerversingsInterval en OpschoonInterval
De RefreshInterval eigenschap van de CustomPeerResolverService definieert hoe lang registratierecords geldig blijven in de opzoektabel voor registratie van de service. Wanneer de hoeveelheid tijd die aan deze eigenschap is opgegeven voor een bepaalde record is verstreken, wordt die record verouderd en gemarkeerd voor verwijdering.
De CleanupInterval eigenschap van de CustomPeerResolverService service vertelt hoe vaak verouderde registratierecords moeten worden gezocht en verwijderd. De CleanupInterval waarde moet worden ingesteld op een tijd die groter is dan of gelijk is aan de RefreshInterval die in de service is ingesteld.
Als u uw eigen resolverservice wilt implementeren, moet u een onderhoudsfunctie schrijven om verlopen registratierecords te verwijderen. U kunt dit op verschillende manieren doen:
Periodiek onderhoud: stel een timer in om periodiek af te gaan en door uw gegevensarchief te gaan om oude records te verwijderen. De CustomPeerResolverService methode maakt gebruik van deze benadering.
Passieve verwijdering: In plaats van regelmatig verouderde records te zoeken, kunt u verouderde records identificeren en verwijderen wanneer uw service al een andere functie uitvoert. Dit kan de reactietijd voor aanvragen van de resolver-clients vertragen, maar het elimineert de noodzaak van een timer en kan efficiënter zijn als er naar verwachting weinig knooppunten weggaan zonder aan te roepen
Unregister.
RegistratieLevensduur en Vernieuwen
Wanneer een knooppunt zich registreert bij een resolver-service, ontvangt het een RegisterResponseInfo object van de service. Dit object heeft een RegistrationLifetime eigenschap die aangeeft hoeveel tijd het knooppunt heeft voordat de registratie verloopt en wordt verwijderd door de resolver-service. Als het RegistrationLifetime bijvoorbeeld 2 minuten is, moet het knooppunt binnen 2 minuten Refresh bellen om ervoor te zorgen dat het record actueel blijft en niet wordt verwijderd. Wanneer de resolver-service een Refresh aanvraag ontvangt, wordt de record opgezoekt en wordt de verlooptijd opnieuw ingesteld. Vernieuwen retourneert een RefreshResponseInfo object met een RegistrationLifetime eigenschap.