Azure Service Fabric macht die Bereitstellung, Verwaltung und Verpackung skalierbarer und zuverlässiger Microservice-Anwendungen sehr einfach und effizient. Es vereinfacht die Entwicklung und Verwaltung von Cloud-Anwendungen sowie die zuverlässige Skalierung und Orchestrierung von Diensten. Der Zweck von Azure Service Fabric besteht darin, Entwicklern eine sehr umfangreiche Plattform zur Verfügung zu stellen, die viele der Probleme löst, die häufig mit der Entwicklung verteilter cloudbasierter Anwendungen verbunden sind.
NCache Bietet seine Bereitstellung innerhalb des Azure Service Fabric-Clusters für verbesserte Leistung und Zuverlässigkeit. NCache ist eine verteilte In-Memory-Caching-Lösung, die die Leistung und Skalierbarkeit Ihrer Anwendungen verbessert, indem sie Ihre Daten zwischenspeichert und sich näher an den Anwendungen befindet.
NCache Details NCache OpenShift-Bereitstellung NCache AKS-Docs
NCache Bereitstellungsarchitektur in Azure Service Fabric
Werfen wir einen Überblick über die gesamte Bereitstellungsarchitektur von NCache in Azure Service Fabric. Die Infrastruktur besteht aus der Service Fabric-Clusterressource zusammen mit allen unterstützenden Azure-Ressourcen, einschließlich eines Azure-Lastausgleichsmoduls und einer VM-Skalierungsgruppe. Ein Service Fabric-Cluster verfügt möglicherweise über mehrere laufende Anwendungen, die aus einzelnen Diensten bestehen könnten, wie es in Microservices-basierten Architekturen üblich ist und diese einzelnen Dienste in einer anderen Sprache geschrieben sein können. Service Fabric übernimmt die Skalierbarkeit und Hochverfügbarkeit der Anwendungen und ihrer einzelnen Dienste.
In solchen Unternehmensanwendungen ist eine verteilte Caching-Lösung wie z NCache ist ein wesentlicher Bestandteil, um Höchstleistungen zu ermöglichen. NCache kann auch innerhalb der Service Fabric-Anwendung als Containerdienst bereitgestellt werden. In diesem Szenario, NCache Server laufen innerhalb der Container auf mehreren Knoten der virtuellen Maschine und kommunizieren miteinander, um einen Cluster-Cache zu bilden.
Der Cache-Erkennungsdienst erhält Echtzeitinformationen über die IP-Adressen von NCache Servern und stellt diese Informationen den Clients zur Verfügung. Mithilfe dieser Informationen können die Clients Vorgänge auf dem ausführen NCache Cache-Cluster. Zusammenfassend zeigt das folgende Diagramm die Bereitstellung von NCache im Service Fabric-Cluster:
Lassen Sie uns die schrittweisen Details der Bereitstellung von durchgehen NCache um es besser zu verstehen.
NCache Details Deployment von NCache im Service Fabric-Cluster
Schritt 1: Erstellen Sie einen Service Fabric-Cluster
Der erste Schritt besteht darin, einen Service-Fabric-Cluster für die Bereitstellung zu erstellen NCache. Erstellen Sie eine Ressourcengruppe mit einer Schlüsseltresorressource. Der Schlüsseltresor enthält das Zertifikat, das mit dem Service Fabric-Cluster verwendet wird. Um zu beginnen, können Sie mit der angegebenen ARM-Vorlage für einen Service Fabric-Cluster mit 5 Knoten beginnen hier und nehmen Sie dann die folgenden Änderungen vor:
- Im JSON Datei, ändern Sie den Standardwert der vmimagesku Parameter in der Parameter Abschnitt von 2016-Rechenzentrum zu 2016-Rechenzentrum-mit-Containern. Dadurch werden VMSS-Knoten mit vorinstallierten Docker-Funktionen eingerichtet.
- Aktualisieren Sie die ARM-Vorlage, um dies zu ermöglichen Öffnen Sie den Netzwerkmodus.
- Fügen Sie unter den Load Balancer-Ports, die Sie verfügbar machen möchten, einen mit dem Wert 8251 hinzu. Dies ist der Portwert, auf dem der NCache Der Web Manager wird ausgeführt. Ändern Sie den Verteilungsmodus für diesen Port in Quell-IP. Dies würde es ermöglichen NCache Auf Web Manager kann mit einer Sticky-Sitzung zugegriffen werden, um einen konsistenten Zustand zwischen Server und Client bereitzustellen, wenn Caches erstellt und ihnen Knoten hinzugefügt werden.
Sobald dies erledigt ist, können Sie die ARM-Vorlage bereitstellen und die Ressourcen und Konfigurationen davon werden vom Azure Resource Manager bereitgestellt. Sobald die Infrastruktur vorhanden ist und alle in der ARM-Vorlage angegebenen Konfigurationen überprüft wurden, fahren Sie mit dem nächsten Schritt fort.
Schritt 2: Erstellen NCache Clusterdienst
NCache Der Clusterdienst ist der Hauptdienst, der ausgeführt wird und das darstellt NCache Server, der innerhalb der Container auf dem Dienst Fabric VMSS ausgeführt wird. Der NCache Server-Windows-Container-Images sind verfügbar auf Docker-Hub. Der von diesem Dienst verwendete Konfigurationsmodus ist der Offen Der Konfigurationsmodus und seine Verwendungsdetails werden später im Blog erläutert. Der Zweck dieses Dienstes besteht darin, die folgenden für die Kommunikation erforderlichen Ports verfügbar zu machen:
- Der Verwaltungsport: Portnummer 8250, auf dem die Cache-Server auf Verwaltungsvorgänge wie Cache-Erstellung usw. warten.
- Client-Port: Portnummer 9800 zum Ausführen aller CRUD-Vorgänge.
In Service Fabric ist die Öffnen Sie den Netzwerkmodus ermöglicht mehreren Containern die gemeinsame Nutzung desselben Ports, indem ihnen individuelle IP-Adressen aus dem sekundären IP-Adresspool der virtuellen Maschine zugewiesen werden, auf der sie ausgeführt werden. Im Falle der NCache Dienst hätte dies den zusätzlichen Vorteil, dass dies möglich wäre NCache Container können über Hostgrenzen hinweg kommunizieren, wenn sie Teil eines Cluster-Cache sind. Dies ist mit der Standardeinstellung nicht möglich NAT Modus arbeiten können.
Unten finden Sie das Beispiel NCache Clusterdienst-Manifestdatei:
1 2 3 4 5 6 7 |
<ContainerHost> <ImageName>alachisoft/ncache</ImageName> </ContainerHost> <Endpoints> <Endpoint Name="cache-management" Protocol="tcp" UriScheme="tcp" Port="8250" CodePackageRef="Code" /> <Endpoint Name="cache-client" Protocol="tcp" UriScheme="tcp" Port="9800" CodePackageRef="Code" /> </Endpoints> |
Schritt 3: Erstellen NCache Management Service
NCache Management Service ist ebenfalls ein Containerdienst und verwendet dasselbe Docker-Image wie der NCache Clusterdienst. Der Zweck dieses Dienstes besteht darin, den Port 8251 durch Zugriff auf den Port XNUMX für Verwaltungs- und Überwachungszwecke verfügbar zu machen NCache Web Manager. Der Grund, die zu trennen NCache Management-Service von der NCache Der Cluster-Dienst besteht darin, dass im offenen Konfigurationsmodus keine Host-zu-Port-Zuordnung zulässig ist. NCache Auf den Web Manager muss über die Bereitstellung des Host-Ports zugegriffen werden. Dazu muss ein weiterer Dienst namens „ NCache Der Verwaltungsdienst wird mit erstellt NAT Modus. Nachfolgend finden Sie die Beispieldienstmanifestdatei für NCache Management-Service.
1 2 3 4 5 6 |
<ContainerHost> <ImageName>alachisoft/ncache</ImageName> </ContainerHost> <Endpoints> <Endpoint Name="web-management" Protocol="http" UriScheme="http" Port="8251" Type="Input" CodePackageRef="Code" /> </Endpoints> |
Schritt 4: Erstellen NCache Erkennungsdienst
Das NCache Discovery Service ist ein zustandsloser, zuverlässiger ASP.NET Core Web-API, die den Service Fabric-Namensdienst konsultiert und die vom Service Fabric registrierten Endpunkte abruft NCache Clusterdienst. Die durch den Zugriff auf die Endpunkte abgerufenen Informationen werden dann den Clients als HTTP-Antwort bereitgestellt.
Die Clientanwendungen können dann Vorgänge auf dem ausführen NCache Cluster-Cache durch Erstellen einer Cache-Verbindung mithilfe der erfassten IP-Adressinformationen. Das Dienstmanifest für NCache Der Discovery-Service wird unten angezeigt:
1 2 3 4 5 6 7 |
<EnvironmentVariables> <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="" /> </EnvironmentVariables> <Endpoints> <!-- This endpoint is used by the communication listener to obtain the port on which to listen. --> <Endpoint Protocol="http" Name="ServiceEndpoint" UriScheme="http" Port="55100" Type="Input" /> </Endpoints> |
Schritt 5: Cache-Cluster erstellen
In diesem Teil findet die eigentliche Cache-Erstellung statt. Stellen Sie zunächst sicher, dass die NCache Der Discovery-Dienst ist betriebsbereit. Greifen Sie vom Erkennungsdienst aus auf den URI zu, der aus geclustertem DNS besteht, und auf den Port, den der Cache-Erkennungsdienst überwacht. Beim Öffnen des URI gefolgt vom DNS werden die IP-Adressen für jeden Endpunkt angezeigt, die vom registriert sind NCache Bedienung.
Sobald Sie sichergestellt haben, dass der Dienst betriebsbereit ist, können Sie nun auf den zugreifen NCache Webmanager erstellen NCache Cluster-Cache. Um auf die zuzugreifen NCache Web Manager, greifen Sie über den DNS gefolgt von der Portnummer 8251 darauf zu. Dadurch gelangen Sie zum Hauptfenster von NCache Webmanager. Erstellen Sie den Cache-Cluster, indem Sie die Schritte im Abschnitt „Cache-Cluster erstellen“ im ausführen Dokumentation.
Schritt 6: Erstellen Sie einen Clientanwendungsdienst
Der Unterschied NCache Clientdienste senden HTTP-Anfragen an die NCache Discovery-Dienst, der den Clients die IP-Adressen der Container bereitstellt, auf denen NCache läuft als Antwort. Die Clients können dann die IP-Adressen verwenden, um Cache-Verbindungen zu erstellen, über die sie mit dem kommunizieren NCache Cluster-Cache.
Wenn Sie eine Überwachung für die benötigen clientseitig NCache Leistungsindikatoren und/oder Out-Proc erfordern Client-Caches Mit Ihren Client-Diensten müssen die Client-Anwendungen als Container-Dienste bereitgestellt werden, deren Quell-Images das enthalten NCache Installation im Cache-Client-Modus. In diesem Fall verwendet der Client-Dienst auch den Open-Networking-Modus.
Nachfolgend finden Sie die Beispiel-Dienstmanifestdatei für einen Clientanwendungsdienst mit NCache Client-Installation:
1 2 3 4 5 6 |
<EntryPoint><ContainerHost><ImageName>ncache/apps:sfclient</ImageName></ContainerHost></EntryPoint> <EnvironmentVariables> <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> <EnvironmentVariable Name="Cache_Name" Value="democache"/> <EnvironmentVariable Name="Cache_DiscoveryService_URL" Value="<Cache Discovery Service URL>"/> <!-- Other environmental variables --> |
NCache Details NCache OpenShift-Bereitstellung NCache Docker Container
Schritt 7: Clientanwendungen ausführen
Sobald der Cache betriebsbereit ist, können Sie mit der Ausführung von CRUD-Vorgängen auf der Clientseite beginnen. Die Client-Anwendungen beginnen zunächst mit der Erfassung der IP-Adressen der NCache Servercontainer aus der NCache Discovery Service und stellen Sie eine Verbindung mit dem Cache her. Sobald die Verbindung hergestellt ist, können die Cache-Verwaltung und die CRUD-Vorgänge fortgesetzt werden.
Sie können die Clientverbindung mit validieren NCache Webmanager und NCache Web Monitor wird im nächsten Schritt erklärt.
Schritt 8: Überwachung NCache Cluster
NCache Web Manager hat eine eingebettete NCache Webmonitor Tool, das Ihnen bei der Überwachung Ihres Cache-Clusters hilft. Durch die Überwachung Ihres Cache-Clusters erhalten Sie Echtzeitinformationen über den Zustand des Cache-Clusters, die Cache-Aktivität, die Anzahl der durchgeführten Vorgänge und vieles mehr. Durch die Überwachung Ihres Cache-Clusters können Sie geeignete Maßnahmen für Probleme wie Speicher-Overheads usw. ergreifen.
Befolgen Sie die Schritte in der Dokumentation, um Ihren Cache-Cluster zu überwachen. Es zeigt Ihnen verschiedene Dashboards wie das Berichts-Dashboard oder das grafische Dashboard zusammen mit Ihren Client- und Server-Zählern.
Schritt 9: Skalierung NCache Cluster
NCache Da es von Natur aus sehr skalierbar ist, können Sie dies tun Fügen Sie Ihrem Cache-Cluster Server hinzu zur Laufzeit. NCache Mit Web Manager können Sie Server zum Cache-Cluster hinzufügen. Skalieren Sie einfach die NCache Cluster-Service auf beliebig viele Instanzen. Einmal das Neue NCache Wenn Servercontainer ausgeführt werden, können Sie sie Ihrem Cache-Cluster hinzufügen, ohne den Cache-Cluster stoppen zu müssen.
Anschließend können Sie Ihren Cache-Cluster überwachen, um die Aktivität auf dem hinzugefügten Serverknoten zu sehen.
Zusammenfassung
Um den gesamten Artikel zusammenzustellen, haben wir die Bereitstellung von Azure Service Fabric in behandelt NCache. NCache ist eine sehr skalierbare Caching-Lösung und sorgt für hohe Leistung und extrem schnelle Transaktionen. Diese Vorteile können durch die Befolgung einiger einfacher Schritte und die Bereitstellung erreicht werden NCache in Ihrer Containerumgebung mit Azure Service Fabric.