Delen via


Meer informatie over de instelling ImageStoreConnectionString

In sommige van onze documentatie noemen we kort het bestaan van een parameter ImageStoreConnectionString zonder te beschrijven wat het echt betekent. En na het doorlopen van een artikel zoals Toepassingen implementeren en verwijderen met Behulp van PowerShell, lijkt het erop dat u alleen de waarde kopieert/plakt, zoals wordt weergegeven in het clustermanifest van het doelcluster. De instelling moet dus per cluster kunnen worden geconfigureerd, maar wanneer u een cluster maakt via Azure Portal, is er geen optie om deze instelling te configureren en is dit altijd 'fabric:ImageStore'. Wat is dan het doel van deze instelling?

Clustermanifest

Service Fabric is gestart als een platform voor intern Microsoft-verbruik door veel verschillende teams, dus sommige aspecten hiervan zijn zeer aanpasbaar: de 'Image Store' is een dergelijk aspect. In wezen is image store een pluggable opslagplaats voor het opslaan van toepassingspakketten. Wanneer uw toepassing wordt geïmplementeerd op een knooppunt in het cluster, downloadt dat knooppunt de inhoud van uw toepassingspakket uit de Installatiekopieopslag. ImageStoreConnectionString is een instelling die alle benodigde informatie bevat voor zowel clients als knooppunten om de juiste Image Store voor een bepaald cluster te vinden.

Er zijn momenteel drie mogelijke soorten Image Store-providers en de bijbehorende verbindingsreeks s zijn als volgt:

  1. Image Store-service: 'fabric:ImageStore'

  2. Bestandssysteem: "file:[bestandssysteempad]"

  3. Azure Storage: "xstore:DefaultEndpointsProtocol=https; AccountName=[...]; AccountKey=[...]; Container=[...]"

Het providertype dat in productie wordt gebruikt, is de Image Store-service. Dit is een stateful persistente systeemservice die u kunt zien in Service Fabric Explorer.

Image Store-service

Als u de Installatiekopieënopslag host in een systeemservice in het cluster zelf, worden externe afhankelijkheden voor de pakketopslagplaats geëlimineerd en hebben we meer controle over de locatie van de opslag. Toekomstige verbeteringen in de Image Store richten zich waarschijnlijk eerst op de Provider van de Installatiekopieënarchief, indien niet uitsluitend. De verbindingsreeks voor de Image Store-serviceprovider heeft geen unieke informatie omdat de client al is verbonden met het doelcluster. De client hoeft alleen te weten dat protocollen die zijn gericht op de systeemservice moeten worden gebruikt.

De bestandssysteemprovider wordt gebruikt in plaats van de Image Store-service voor lokale one-box clusters tijdens de ontwikkeling om het cluster iets sneller te bootstrapen. Het verschil is meestal klein, maar het is een nuttige optimalisatie voor de meeste mensen tijdens de ontwikkeling. Het is ook mogelijk om een lokaal een-box-cluster te implementeren met de andere typen opslagproviders, maar er is meestal geen reden om dit te doen, omdat de ontwikkel-/testwerkstroom hetzelfde blijft, ongeacht de provider. De Azure Storage-provider bestaat alleen voor verouderde ondersteuning van oude clusters die zijn geïmplementeerd voordat de Image Store-serviceprovider werd geïntroduceerd.

Bovendien moet niet de bestandssysteemprovider of de Azure Storage-provider worden gebruikt als een methode voor het delen van een installatiekopiearchief tussen meerdere clusters. Dit leidt tot beschadiging van clusterconfiguratiegegevens omdat elk cluster conflicterende gegevens naar de Installatiekopieopslag kan schrijven. Als u ingerichte toepassingspakketten tussen meerdere clusters wilt delen, gebruikt u in plaats daarvan sfpkg-bestanden die met een download-URI kunnen worden geüpload naar elke externe opslag.

Dus terwijl imageStoreConnectionString configureerbaar is, gebruikt u gewoon de standaardinstelling. Wanneer u publiceert naar Azure via Visual Studio, wordt de parameter automatisch voor u ingesteld. Voor programmatische implementatie naar clusters die worden gehost in Azure, is de verbindingsreeks altijd 'fabric:ImageStore'. Als u twijfelt, kan de waarde ervan altijd worden geverifieerd door het clustermanifest op te halen door PowerShell, .NET of REST op te halen. Zowel on-premises test- als productieclusters moeten altijd worden geconfigureerd voor het gebruik van de Image Store-serviceprovider.

Volgende stappen

Toepassingen implementeren en verwijderen met Behulp van PowerShell