Azure Service Fabric-Bereitstellung von NCache

Microsoft Service Fabric ist eine Anwendungsplattform, die das Erstellen und Bereitstellen von auf Mikrodiensten basierenden Anwendungen vereinfacht, um Unternehmen zuverlässige, skalierbare und agile Anwendungen bereitzustellen, unabhängig davon, ob diese in Azure, vor Ort oder auf einer anderen Cloud-Plattform ausgeführt werden. Azure Service Fabric bietet Gesundheitsüberwachungsfunktionen und verschiedene integrierte Programmiermodelle, um die Entwicklung cloudbasierter Anwendungen zu vereinfachen.

NCache ist eine verteilte In-Memory-Caching-Lösung, die einen äußerst skalierbaren Ansatz für Ihre .NET- und Java-Anwendungen bietet. NCache bietet außerdem Unterstützung für verschiedene Cloud-Plattformen wie Service Fabric und Kubernetes Azure, Amazon EX machen Red Hat OpenShift. Es verbessert die Leistung und Skalierbarkeit Ihrer Cloud-Anwendungen bei Spitzentransaktionslasten. Das folgende Diagramm zeigt die Bereitstellung von NCache in Azure Service Fabric:

NCache kann mit Azure Service Fabric auf folgende Weise bereitgestellt werden:

Deploy NCache innerhalb des Service Fabric-Clusters

Um bereitzustellen NCache In Ihrem Service Fabric-Cluster sind die folgenden Hauptkomponenten aufgeführt, die in Ihren Cloud-Anwendungen bereitgestellt werden müssen:

NCache Erkennungsdienst

NCache Discovery Service ist eine zustandslose, zuverlässige Web-API, die Echtzeitinformationen über die IP-Adressen der abruft NCache Server zur Bereitstellung der Informationen an die NCache Kunden. Mit diesen Informationen NCache Erstellt Cache-Handles für die Clients, die den Clients dabei helfen können, Vorgänge im Cluster-Cache auszuführen. Der NCache Der Erkennungsdienst konsultiert den Service Fabric-Namensdienst, um die IP-Adressen der Container abzurufen, auf denen er sich befindet NCache Server laufen.

<ServiceTypes>
    <StatelessServiceType ServiceTypeName="NCacheDiscoveryType" />
  </ServiceTypes>
  <CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <ExeHost>
        <Program>NCacheDiscovery.exe</Program>
        <WorkingFolder>CodePackage</WorkingFolder>
      </ExeHost>
    </EntryPoint>
   ...
  </CodePackage>
  <ConfigPackage Name="Config" Version="1.0.0" />
   ...
</ServiceManifest>

NCache Clusterdienst

Bei diesem Dienst handelt es sich um einen Containerdienst, der das Docker-Image von verwendet NCache. Dieser Dienst ermöglicht NCache Server, die innerhalb von Containern ausgeführt werden, kommunizieren hostübergreifend miteinander, um mithilfe von den Cache-Cluster zu bilden Offen Konfigurationsmodus und stellt die für die Kommunikation erforderlichen Ports bereit.

<ServiceTypes>
    <StatelessServiceType ServiceTypeName="NCacheServiceType" UseImplicitHost="true" />
. . .
      <ContainerHost>
        <ImageName>alachisoft/ncache</ImageName>
      </ContainerHost>
. . .
  <Resources>
    <Endpoints>
      <Endpoint Name="cache-management" Protocol="tcp" UriScheme="tcp" Port="8250" CodePackageRef="Code" />
    </Endpoints>
  </Resources>

NCache Management Service

Dieser Dienst wird verwendet, um die verfügbar zu machen NCache Web Manager zur Durchführung der Verwaltungs- und Überwachungsvorgänge im Cache. Dieser Dienst verwendet dasselbe Bild wie der NCache Clusterdienst verwendet. 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 Der Zugriff auf den Web Manager muss über die Bereitstellung des Host-Ports und eines anderen Dienstes namens erfolgen NCache Der Verwaltungsdienst wird mit erstellt NAT Modus arbeiten können.

<ServiceTypes>
    <StatelessServiceType ServiceTypeName="NCacheWebManagerType" UseImplicitHost="true" />
  </ServiceTypes>
. . . 
      <ContainerHost>
        <ImageName>alachisoft/ncache</ImageName>
      </ContainerHost>
. . .
  <Resources>
    <Endpoints>
      <Endpoint Name="web-management" Protocol="http" UriScheme="http" Port="8251" Type="Input" CodePackageRef="Code" />
    </Endpoints>
  </Resources>

Client-App-Dienst

Dieser Dienst ermöglicht es den Containern auf mehreren Knoten, miteinander zu kommunizieren. Mit diesem Dienst werden die clientseitigen Zähler für die Überwachung des Cache-Clusters erfasst.

Alle diese Leistungen schaffen Erfolg NCache Bereitstellung innerhalb Ihres Service Fabric-Clusters zum Erstellen eines Cache-Clusters und zum anschließenden Durchführen von Überwachungs- und Verwaltungsvorgängen darauf. Dieser Dienst kommuniziert mit dem NCache Discovery-Dienst, der dem Client im Gegenzug die IP-Adressen der Container zur Verfügung stellt.

<ServiceManifest Name="ClientContainerPkg" . . .>
  <ServiceTypes>
    <StatelessServiceType ServiceTypeName="ClientContainerType" UseImplicitHost="true" />
  </ServiceTypes>
. . .
      <ContainerHost>
        <ImageName>ncache/apps:sfclient</ImageName>
      </ContainerHost>
. . .
</ServiceManifest>

Deploy NCache außerhalb des Service Fabric-Clusters

NCache Die Service Fabric-Dienste können auch dann darauf zugreifen, wenn sie sich auf einer virtuellen Maschine befinden, die nicht in der Service Fabric-VM-Skalierungsgruppe enthalten ist. In diesem Fall, NCache Eine Diensterkennung ist nicht erforderlich und die Anwendungen können mit den IP-Adressen der bereitgestellt werden NCache Server. Zugreifen NCache Von außerhalb des Service Fabric-Clusters können Sie die richtigen IP-Adressen in Ihrer client.ncconf oder über die von bereitgestellte CacheConnectionOptions-API angeben NCache. Dies ermöglicht eine nahtlose Kommunikation von Microservices mit NCache außerhalb des Service Fabric-Clusters.

Was macht man als nächstes?

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.