NCache Eigenschaften

 

Funktionsübersicht

Dies ist eine Zusammenfassung von allem NCache Merkmale. Bitte besuchen Sie die Produktseiten or docs Weitere Einzelheiten zu den einzelnen Funktionen finden Sie hier.

Merkmal
 
.NET- und Java-Unterstützung
- Cache-Clients: .NET, Java, Node.js, Python
- .NET Edition: Serverseitiger Code (.NET)
- Java Edition: Serverseitiger Code (Java)
- Java Maven-Pakete
- .NET NuGet-Pakete
- Node.js- und Python-Pakete
 
Windows- und Linux-Unterstützung
- Windows (Cache-Server, Cache-Client)
- Linux (Cache-Server, Cache-Client)
 
Docker- und Kubernetes-Unterstützung
- Docker (Linux, Windows)
- Kubernetes (lokal)
- Azure Kubernetes Service (AKS)
- AWS Elastic Kubernetes Service (EKS)
- Red Hat OpenShift Kubernetes
- Google Kubernetes Engine (GKE)
 
Leistung und Skalierbarkeit
- Cache-Leistung Super Fast
- Cache-Skalierbarkeit Extrem skalierbar (2 Millionen Operationen/Sek., 5-Knoten-Cluster)
- Massenoperations-API
- Async Operations API
- Kompression
- Schnelle kompakte Serialisierung
- Indizes
- Mehrere NIC-Bindung
- Pipelining
 
Cache-Elastizität (Hochverfügbarkeit)
- Dynamischer Cache-Cluster
- Peer-to-Peer-Architektur
- Verbindungs-Failover
- Split-Brain-Erkennung und automatische Wiederherstellung
- Dynamische Konfiguration
- Mehrere Cluster
- Benannte Caches
- Kommunikationsprotokoll ( TCP )
- Clusterspezifische Ereignisse
- Stoppen Sie die Neupartitionierung im Wartungsmodus
 
Cache-Topologien
- Lokaler Cache
- Client-Cache (nahe dem Cache)
- Gespiegelter Cache
- Replizierter Cache
- Partitionierter Cache
- Partitionsreplikat-Cache
- Partitionierter Datenausgleich
- Automatischer Lastenausgleich
- Partitionierte Datenaffinität
- Live-Persistenz
- Single-Hop-Datenzugriff
 
WAN-Replikation (Multi-Datacenter)
- Aktiv passiv
- Aktiv – Aktiv (2 Rechenzentren)
- Aktiv – Aktiv (3+ Rechenzentren)
- Mehrfach aktiv – mehrfach passiv
- Konfliktlösung
- Deduplizierung
- Datensicherheit
 
Sicherheit & Verschlüsselung
- Authentifizierung (Active Directory/LDAP)
- Autorisierung
- Datenverschlüsselung
- Sichere Kommunikation (TLS)
 
Cache-Verwaltung und -Überwachung
- Admin-Tool (Web-GUI)
- Überwachungstool (Web-GUI)
- PerfMon-Zähler
- JMX-Zähler
- SNMP-Zähler
- Admin-Tools (Befehlszeile)
- Admin- und Monitoring-API (.NET & Java)
- Spielplatz (Live + mit Installation)
 
Web-Apps (Java + andere)
- Spring Boot-Sitzungen
- Spring Boot-Sitzungen (mehrere Standorte)
- Java-Websitzungen
- Java-Websitzungen (Multi-Site)
- Node.js-Websitzungen
- Node.js-Websitzungen (Multi-Site)
Merkmal
 
Web-Apps (.NET)
- ASP.NET Core Sessions
- ASP.NET Core Sitzungen (mehrere Standorte)
- ASP.NET Core SignalR Backplane
- ASP.NET Core Antwort-Cache
- ASP.NET Core IDistributedCache
- ASP.NET Core Identitätsserver
- ASP.NET & ASP.NET Core Sitzungsfreigabe
- ASP.NET-Sitzungen
- ASP.NET-Sitzungen (mehrere Standorte)
- ASP.NET View State
- ASP.NET-Ausgabecache
- ASP.NET SignalR Backplane
 
Java-Integrationen
- Cache der 2. Ebene in den Ruhezustand versetzen
- Frühlings-Caching
- JCache-API
- Java Persistence API (JPA)-Caching
 
.NET-Integrationen
- EF-Core-Cache
- Entity Framework 6-Cache
- NHibernate 2nd-Level-Cache
 
Objekt-Caching-Funktionen
- Abrufen, Hinzufügen, Einfügen, Entfernen, Existiert, Cache löschen
- Ablauf
- Sperren und Entsperren
- Streaming-API für große Objekte
- Artikelversionierung
- Mehrere Objektversionen
- Transaktionen (Teilweise Unterstützung)
- Verteilte Datenstrukturen
 
Datengruppierung
- Gruppen
- Stichworte
- Benannte Tags
 
Abfragen (SQL-ähnlich)
- SQL-Suche
- SQL-Aktualisierung und -Löschung
- SQL für Tags, benannte Tags und Gruppen
- LINQ-Abfragen (.NET)
 
Durchlesen, Durchschreiben, Cache Loader/Refresher
- Durchlesen
- Durchschreiben, Hinterschreiben
- Automatisches Neuladen bei Ablauf und DB-Synchronisierung (Durchlesen)
- Lader
- Erfrischer
 
Synchronisation mit Datenquellen
- SQL-Abhängigkeit (SQL Server)
- Oracle-Abhängigkeit (Oracle)
- Datenbankabhängigkeit (jede Datenbank)
- Dateiabhängigkeit
- Benutzerdefinierte Abhängigkeit (beliebige Quelle)
 
Verwalten von Datenbeziehungen
- Schlüsselbasierte Cache-Abhängigkeit
- Schlüsselbasierte Multi-Cache-Abhängigkeit
 
Ereignisse und kontinuierliche Abfrage
- Ereignisse auf Elementebene (onInsert/onRemove)
- Ereignisse auf Cache-Ebene (Hinzufügen/Einfügen/Entfernen)
- Kontinuierliche Abfrage
 
Pub/Sub-Nachrichten (Kafka-Stil)
- Thema
- Warteschlange
- Dauerhafte Abonnements
- Nachrichtenpersistenz
- Themenpartitionierung
- Nachrichtensequenzierung
- Nachrichtenzustellungsgarantie
- Schemaverwaltung
- Echtzeit-Streams (Kafka-Stil)
 
Volltextsuche
- Volltextsuche (Lucene API)
- Schemadurchsetzung
- Indexmigration
- Datenaufnahme
 
Big-Data-Verarbeitung und Analytik
- Map-Reduce-Abfrage
- Aggregatoren
- Eintragsprozessor
 
Cache-Größenverwaltung (Eviction-Richtlinien)
- Maximale Cache-Größe (in MB)
- LRU-Räumungen (zuletzt verwendet)
- LFU-Räumungen (am seltensten verwendet)
- Vorrangige Räumungen
- Option nicht vertreiben
 

Funktionen erklärt

 

.NET- und Java-Unterstützung

NCache Bietet eine starke Unterstützung für Java und .NET.

Funktionsbereich NCache
Cache-Clients: .NET, Java, Node.js, Python

.NET-, Java-, Node.js- und Python-Clients werden offiziell unterstützt.

.NET-Edition
Serverseitiger Code (.NET)

Führen Sie serverseitigen .NET-Code nativ aus.

Java-Edition
Serverseitiger Code (Java)

Führen Sie serverseitigen Java-Code nativ aus.

Java Maven-Pakete

Vollständiger Satz Maven-Pakete bereitgestellt.

.NET NuGet-Pakete

Vollständiger Satz an NuGet-Paketen bereitgestellt.

Node.js- und Python-Pakete

Vollständiger Satz an Node.js- und Python-Paketen bereitgestellt.

 

Windows- und Linux-Unterstützung

NCache Bietet starke Unterstützung für Linux und Windows.

Funktionsbereich NCache
Windows (Cache-Server, Cache-Client)

Windows wird offiziell für Cache Server und Cache Client unterstützt

Linux (Cache-Server, Cache-Client)

Linux wird offiziell für Cache Server und Cache Client unterstützt

 

Docker- und Kubernetes-Unterstützung

NCache bietet starke Unterstützung für Docker und Kubernetes.

Funktionsbereich NCache
Docker (Linux, Windows)

Docker-Images für Linux und Windows werden offiziell unterstützt NCache Server

Kubernetes
(Auf dem Gelände)

NCache kann nahtlos in jedem Kubernetes-Cluster bereitgestellt werden. NCache Server können entweder Linux- oder Windows-basierte Pods sein.

Führen Sie NCache Management Center sowohl innerhalb als auch außerhalb von Kubernetes für den Zugriff und die Verwaltung NCache Cluster.

Azure Kubernetes Service (AKS)

NCache kann nahtlos in jedem Azure Kubernetes (AKS)-Cluster bereitgestellt werden. NCache Server können entweder Linux- oder Windows-basierte Pods sein.

Führen Sie NCache Management Center sowohl innerhalb als auch außerhalb von AKS Kubernetes für den Zugriff und die Verwaltung NCache Cluster.

AWS Elastic Kubernetes-Service (EKS)

NCache kann nahtlos in jedem AWS Elastic Kubernetes (EKS)-Cluster bereitgestellt werden. NCache Server können entweder Linux- oder Windows-basierte Pods sein.

Führen Sie NCache Management Center sowohl innerhalb als auch außerhalb von EKS Kubernetes für den Zugriff und die Verwaltung NCache Cluster.

Google Kubernetes-Engine (GKE)

NCache kann nahtlos in jedem Google Kubernetes Engine (GKE)-Cluster bereitgestellt werden. NCache Server können entweder Linux- oder Windows-basierte Pods sein.

Führen Sie NCache Management Center sowohl innerhalb als auch außerhalb von GKE Kubernetes für den Zugriff und die Verwaltung NCache Cluster.

Red Hat OpenShift Kubernetes

NCache kann nahtlos in jedem Red Hat OpenShift Kubernetes-Cluster bereitgestellt werden. NCache Server können entweder Linux- oder Windows-basierte Pods sein.

Führen Sie NCache Management Center sowohl innerhalb als auch außerhalb von OpenShift Kubernetes für den Zugriff und die Verwaltung NCache Cluster.

 

Leistung und Skalierbarkeit

NCache ist extrem schnell und skalierbar. Siehe wie NCache erreicht dies.

Funktionsbereich NCache
Cache-Leistung

Super Fast

2 Millionen Operationen/Sek., 5-Knoten-Cluster

NCache ist extrem schnell. Bitte sehen Sie es sich an Leistungsbenchmarks das kann weiter skaliert werden.

Sie können ein Benchmarking durchführen NCache in Ihrer eigenen Umgebung mithilfe der mitgelieferten Stresstest-Tools NCache.

Cache-Skalierbarkeit

Extrem skalierbar

2 Millionen Operationen/Sek., 5-Knoten-Cluster

NCache Bietet lineare Skalierbarkeit, d. h. wenn Sie dem Cluster weitere Knoten hinzufügen, steigt Ihre Leistung linear. Bitte sehen Sie es sich an Leistungsbenchmarks.

Sie können ein Benchmarking durchführen NCache in Ihrer eigenen Umgebung mithilfe der mitgelieferten Stresstest-Tools NCache.

Massenoperations-API

Massenabruf, Hinzufügen, Einfügen und Entfernen. Dies deckt die meisten wichtigen Cache-Vorgänge ab und sorgt für eine enorme Leistungssteigerung.

Async Operations-API

Asynchrones Hinzufügen, Einfügen und Entfernen bereitgestellt.

Der asynchrone Vorgang gibt die Kontrolle an die Anwendung zurück und führt den Cache-Vorgang im Hintergrund aus. Verbessert die Reaktionszeit der Anwendung erheblich.

Kompression

Geben Sie dies zusammen mit dem Schwellenwert für die Elementgröße an und nur Elemente, die größer als der Schwellenwert sind, werden komprimiert. Der Rest wird unkomprimiert zwischengespeichert.

Dieser Größengrenzwert wird angegeben, da das Komprimieren kleinerer Elemente häufig zu einer Verlangsamung führt.

Und Sie können „Komprimierung“ zur Laufzeit über „Hot Apply“ konfigurieren.

Schnelle kompakte Serialisierung

Die kompakte Serialisierung ist extrem schnell, da sie zum Serialisieren vorkompilierten Code verwendet und außerdem Typ-IDs anstelle langer Typnamen in den serialisierten Objekten speichert. Das ist fast zehnmal schneller.

Sobald Sie Kurse für die kompakte Serialisierung registriert haben, NCache generiert Serialisierungscode, kompiliert ihn zur Laufzeit im Speicher und verwendet diesen vorkompilierten Code für die Serialisierung.

Sie können die kompakte Serialisierung mit der regulären Serialisierung für Objekte Ihrer Wahl kombinieren.

Indizes

NCache ermöglicht Ihnen die Definition von Indizes für Objektattribute.

NCache Anschließend generiert es zum Zeitpunkt der Verbindung Datenextraktionscode für diese Indizes, kompiliert ihn im Speicher und verwendet ihn auf der Clientseite für die gesamte Datenextraktion. Dies ist viel schneller als die Verwendung von Reflection.

NCache erstellt außerdem automatisch Indizes für Tags, benannte Tags und Gruppen. Ablauf- und Räumungsrichtlinien.

Mehrere NIC-Bindung

Sie können einem Cache-Server zwei NICs zuweisen. Einer kann für Clients verwendet werden, um mit dem Cache-Server zu kommunizieren, und der zweite kann für mehrere Cache-Server im Cluster verwendet werden, um miteinander zu kommunizieren.

Dies verbessert die Skalierbarkeit Ihrer Bandbreite erheblich.

Sie können einem Cache-Client auch eine bestimmte Netzwerkkarte zuweisen, die er für die Kommunikation mit dem Cache-Server verwendet.

Pipelining

NCache verwendet Pipelines für leistungsstarke E/A-Vorgänge zwischen Clients und Servern. Mit Pipelining können Sie die Skalierbarkeit erheblich steigern.

Pipelining ist standardmäßig für alle Caches aktiviert, kann aber über die Konfiguration deaktiviert werden.

 

Cache-Elastizität (Hochverfügbarkeit)

Cache-Elastizität bedeutet, wie flexibel der Cache zur Laufzeit ist. Können Sie die folgenden Vorgänge zur Laufzeit ausführen, ohne den Cache oder Ihre Anwendung anzuhalten?

  1. Cache-Server zur Laufzeit hinzufügen oder entfernen, ohne den Cache anzuhalten.
  2. Nehmen Sie Änderungen an der Cache-Konfiguration vor, ohne den Cache zu stoppen.
  3. Fügen Sie Web-/Anwendungsserver hinzu oder entfernen Sie sie, ohne den Cache anzuhalten.
  4. Profitieren Sie von Failover-Unterstützung für den Fall, dass ein Server ausfällt, und Cache-Clients können nahtlos weiterarbeiten.

NCache bietet ein selbstheilendes dynamisches Cache-Clustering, das macht NCache hochelastisch. Lesen Sie mehr darüber unter Selbstheilendes dynamisches Clustering.

Funktionsbereich NCache
Dynamischer Cache-Cluster

NCache ist hochdynamisch und ermöglicht das Hinzufügen oder Entfernen von Cache-Servern zur Laufzeit ohne Unterbrechung des Caches oder Ihrer Anwendung.

Wenn Sie dies tun, werden die Daten zur Laufzeit automatisch neu ausgeglichen (Statusübertragung genannt) und ohne Unterbrechung des Caches oder seiner Clients. Es gibt auch keine Leistungseinbußen.

Peer-to-Peer-Architektur

NCache Der Cache-Cluster verfügt über eine Peer-to-Peer-Architektur. Das bedeutet, dass es im Cluster keinen „Master/Slave“ und keine „Mehrheitsregel“ gibt.

Alle Knoten sind gleich. Es gibt einen „Koordinator“-Knoten, der der höchste Knoten ist. Bei einem Ausfall übernimmt automatisch der nächsthöhere Knoten diese Rolle.

Das bedeutet, dass der Cluster immer funktionsfähig und korrekt bleibt, wenn ein Server ausfällt.

Verbindungs-Failover
(Cluster, Client/Server)

NCache Bietet vollständige Unterstützung für Verbindungs-Failover zwischen Cache-Clients und -Servern sowie innerhalb des Cache-Clusters.

Im Falle eines Cache-Server-Ausfalls, NCache Clients arbeiten ohne Unterbrechung weiterhin mit anderen Servern im Cluster zusammen.

Der Cluster verwaltet sich selbst, indem er seine Daten neu ausbalanciert und bei Bedarf Replikate neu erstellt.

Split-Brain-Erkennung und automatische Wiederherstellung

Die Split-Brain-Erkennung ist verfügbar und Sie werden darüber benachrichtigt NCache Ereignisse, wenn dies geschieht, und eine automatische Wiederherstellung wird bereitgestellt.

Dynamische Konfiguration

NCache Die Clusterkonfiguration ist nicht fest codiert und wenn Sie zur Laufzeit Server hinzufügen oder entfernen, werden alle anderen Server im Cluster darüber informiert.

NCache Clients erfahren außerdem zur Laufzeit vom Cache-Cluster etwas über alle Server und eine Vielzahl anderer Konfigurationen.

Darüber hinaus können Sie mit der Funktion „Hot Apply“ viele Konfigurationen zur Laufzeit ändern, ohne etwas anhalten zu müssen.

Mehrere Cluster

NCache ermöglicht es Ihnen, mehrere Cache-Cluster mit derselben oder unterschiedlichen Topologien auf demselben Satz von Cache-Servern zu erstellen.

Benannte Caches

NCache ermöglicht es Ihnen, mehrere benannte Caches auf demselben Satz von Cache-Servern zu erstellen.

Communication Protocol

TCP

Clusterspezifische Ereignisse

NCache Stellt Ereignisse zu Änderungen im Cluster bereit, z. B. MemberJoined, MemberLeft, CacheStopped usw.

Diese Ereignisse können nativ sowohl an Java- als auch an .NET-Anwendungen übermittelt werden.

Stoppen Sie die Neupartitionierung im Wartungsmodus

NCache ermöglicht es Ihnen, einen Cache-Server für den „Wartungsmodus“ anzuhalten. In diesem Fall kann dieser Server den Cluster bereits verlassen haben. NCache führt keine automatische Neupartitionierung durch. Stattdessen, NCache funktioniert ohne diesen Knoten weiter, bis er wieder hochgefahren wird.

Dieses Verhalten unterscheidet sich vom Standardverhalten, bei dem ein Knoten, der den Cluster verlässt, automatisch eine Neupartitionierung auslöst.

 

Cache-Topologien

Cache-Topologien bestimmen die Datenspeicherung, Replikation und Client-Verbindungsstrategie. Für unterschiedliche Einsatzzwecke gibt es unterschiedliche Topologien. Weitere Einzelheiten erfahren Sie unter NCache Caching-Topologien bei Cache-Topologien.

Funktionsbereich NCache
Lokaler Cache

Sowohl InProc als auch OutProc.

InProc ist viel schneller und bietet Ihnen „InProc-Geschwindigkeit“, aber Ihr Speicherverbrauch ist höher, wenn Sie mehrere Instanzen auf demselben Computer haben.

OutProc ist aufgrund der IPC- und Serialisierungskosten etwas langsamer, spart jedoch Speicherverbrauch, da nur eine Kopie pro Maschine vorhanden ist.

Client-Cache
(In der Nähe von Cache)

Der Client-Cache ist einfach ein lokaler Cache (InProc/OutProc) auf dem NCache remote client Maschine, die eine Kopie aller Daten speichert, die Sie aus dem Cache-Cluster abrufen.

Dieser Client-Cache wird auch mit dem Cache-Cluster synchronisiert, sodass Daten, die sich im Cache-Cluster ändern, sofort auch im Client-Cache aktualisiert werden.

Damit, NCache Clients profitieren von den Vorteilen eines superschnellen lokalen Caches, ohne Kompromisse bei der Datenintegrität einzugehen und ohne die Cachegröße auf nur den Speicher eines Clients zu beschränken.

Gespiegelter Cache

Der gespiegelte Cache ist ein Aktiv-Passiv-Cache mit zwei Knoten. Alle Clients stellen eine Verbindung zum aktiven Knoten her und die Datenspiegelung erfolgt asynchron.

Falls der aktive Knoten ausfällt, wird der passive Knoten automatisch zum aktiven Knoten und alle Clients stellen automatisch eine Verbindung zu ihm her.

Replizierter Cache

Beim replizierten Cache wird der gesamte Cache auf allen Knoten im Cluster repliziert.

Sie können mehr als zwei Knoten haben und alle Knoten sind aktiv, was bedeutet, dass Clients für Lese-/Schreibvorgänge direkt eine Verbindung zu ihnen herstellen.

Aktualisierungen erfolgen synchron innerhalb des Clusters und sind daher langsamer als andere Topologien, aber dennoch recht schnell. Lesevorgänge erfolgen superschnell.

Jeder Client verbindet sich nur mit einem Knoten. Sie können den Lastausgleich aktivieren oder eine geordnete Serverliste angeben, die die Clients für die Verbindung verwenden sollen.

Partitionierter Cache

Vollständige Failover-Unterstützung, wenn ein Server ausfällt (obwohl es in diesem Fall zu Datenverlusten kommt).

Partitionierter Cache ist eine sehr leistungsfähige Topologie. Sie können eine Partitionierung ohne Replikation durchführen, um den Cache zu beschleunigen und außerdem weniger Speicher zu verbrauchen, da Sie jederzeit einige Daten neu laden können, wenn sie aus dem Cache verloren gehen.

Beim partitionierten Cache wird der gesamte Cache partitioniert und jeder Cache-Server erhält eine Partition. Alle Partitionen werden erstellt oder gelöscht und ihre Buckets werden zur Laufzeit automatisch neu zugewiesen, wenn Sie Knoten hinzufügen/entfernen.

Die Datenausgleichsfunktion ist auch dann verfügbar, wenn keine Partition hinzugefügt oder entfernt wird, aber eine Partition mit zu vielen Daten überlastet ist.

Partitionsreplikat-Cache

Entspricht dem partitionierten Cache (siehe oben).

Bietet außerdem eine Replik für jede Partition, die auf einem anderen Cache-Server gespeichert ist. Dies bietet Sicherheit gegen Datenverlust, wenn ein Knoten ausfällt.

Ebenso wie Partitionen werden auch Replikate dynamisch erstellt.

Durch den Datenausgleich werden auch Replikate aktualisiert.

Partitionierter Datenausgleich

Die Daten werden automatisch neu verteilt, wenn Sie Cache-Server zum Cluster hinzufügen/entfernen.

Die Daten werden auch automatisch neu verteilt, wenn ein Cache-Server viel mehr Daten hat als andere Server. Hierfür können Sie den Schwellenwert der Differenz konfigurieren. In diesem Fall können Sie die automatische Neuausrichtung deaktivieren und bei Bedarf manuell durchführen.

Dies gilt sowohl für den partitionierten Cache als auch für den Partitionsreplikat-Cache.

Automatischer Lastenausgleich

Bei der Topologie „Replizierter Cache“ werden die Clients auf die Serverknoten verteilt.

Bei Topologien mit partitioniertem Cache sind alle Clients für den Single-Hop-Betrieb mit allen Knoten verbunden und daher auch ausgeglichen.

Partitionierte Datenaffinität

NCache Bietet Datenaffinität. Um es zu verwenden, geben Sie den Schlüssel des anderen Elements innerhalb {} eines Elements an und dann bleibt dieses Element auf derselben Partition wie die anderen Elemente mit derselben Affinität.

Live-Persistenz

NCache ermöglicht es Ihnen, Live Persistence für jeden Cache zu aktivieren. In diesem Fall werden alle Daten in einem LiteDB-Persistenzspeicher gespeichert. Dies ist ein binärer persistenter Speicher, der alle Buckets in einem Cache-Cluster widerspiegelt. Die Persistenz erfolgt LIVE zur Laufzeit.

Sie können einen Cache bei Bedarf aus seiner dauerhaften Kopie wiederherstellen.

Single-Hop-Datenzugriff

In allen Cache-Topologien NCache Clients können in einem einzigen Hop auf zwischengespeicherte Daten zugreifen.

 

WAN-Replikation (Multi-Datacenter)

Die WAN-Replikation ist eine wichtige Funktion für viele Kunden, deren Anwendungen in mehreren Rechenzentren (mehrere Regionen oder Verfügbarkeitszonen in der Cloud) bereitgestellt werden, entweder für Notfallwiederherstellungszwecke oder für den Lastausgleich des regionalen Datenverkehrs.

Die Idee hinter der WAN-Replikation besteht darin, dass der Cache nicht an jedem geografischen Standort aufgrund der hohen Latenz des WAN verlangsamt werden darf. NCache bietet eine Bridge-Topologie, um all dies zu bewältigen.

Lesen Sie mehr darüber unter WAN-Replikation von NCache.

Funktionsbereich NCache
Aktiv passiv

Brückentopologie aktiv-passiv

Sie können eine Brücke zwischen den aktiven und passiven Standorten erstellen. Die aktive Site sendet alle Aktualisierungen an die Bridge, die sie dann auf die passive Site repliziert.

Aktiv – Aktiv
(2 Rechenzentren)

Brückentopologie Aktiv-Aktiv

Sie können eine Brücke zwischen zwei aktiven Sites erstellen. Beide übermitteln ihre Updates an die Bridge, die Konflikte nach der Regel „Letztes Update gewinnt“ oder über einen von Ihnen bereitgestellten benutzerdefinierten Konfliktlösungshandler behandelt. Anschließend stellt die Bridge sicher, dass beide Standorte über das gleiche Update verfügen.

Aktiv – Aktiv
(3+ Rechenzentren)

Brückentopologie Aktiv-Aktiv

Sie können eine Brücke zwischen drei oder mehr aktiven Sites erstellen. Alle übermitteln ihre Updates an die Bridge, die Konflikte nach der Regel „Letztes Update gewinnt“ oder über einen von Ihnen bereitgestellten benutzerdefinierten Konfliktlösungshandler behandelt. Anschließend stellt die Bridge sicher, dass alle Standorte über das gleiche Update verfügen.

Mehrfach aktiv – mehrfach passiv

NCache ermöglicht es Ihnen, eine Brücke zwischen mehreren aktiven und mehreren passiven Standorten zu erstellen.

Konfliktlösung

Standardmäßig wird zur Lösung von Konflikten der Algorithmus „Letztes Update gewinnt“ verwendet. Sie können jedoch einen „benutzerdefinierten Konfliktlösungshandler“ angeben, der den Konflikt löst, indem er den Inhalt beider Objekte vergleicht und entscheidet, welches Objekt gewinnt.

Deduplizierung

NCache Bridge optimiert die Replikationswarteschlange durch Deduplizierung von Elementen. Wenn derselbe Schlüssel mehrmals aktualisiert wird, wird nur der letzte repliziert.

Datensicherheit

Sie können Daten mit 3DES- und AES-Algorithmen verschlüsseln, sodass sie als verschlüsselte Daten zwischengespeichert werden, bevor sie über die Bridge zum anderen Standort über das WAN transportiert werden.

Andernfalls können Sie aus Sicherheitsgründen ein VPN zwischen mehreren Rechenzentren im WAN verwenden.

 

Sicherheit & Verschlüsselung

Viele Anwendungen verarbeiten sensible Daten oder sind geschäftskritisch und daher ist Sicherheit für sie ein sehr wichtiges Anliegen.

NCache Bietet eingeschränkten Zugriff auf den Cache und seine Server basierend auf Authentifizierung und Autorisierung, um Personen in verschiedene Benutzergruppen einzuteilen. Außerdem können Daten innerhalb des Clientanwendungsprozesses verschlüsselt werden, bevor sie in den Cache übertragen werden.

NCache Bietet starke Unterstützung für die Sicherheit.

Funktionsbereich NCache
Authentifizierung
(Active Directory / LDAP)

Sie können Benutzer anhand von Active Directory oder LDAP authentifizieren. Wenn die Sicherheit aktiviert ist, kann niemand ohne Authentifizierung und Autorisierung auf den Cache zugreifen.

Genehmigung

Sie können Benutzer entweder als „Benutzer“ oder als „Administratoren“ autorisieren. Benutzer können nur für Lese-/Schreibvorgänge auf den Cache zugreifen, während „Administratoren“ die Cache-Server und -Cluster verwalten können.

Datenverschlüsselung

Sie können die Verschlüsselung aktivieren und NCache verschlüsselt automatisch alle Elemente auf dem Client, bevor sie an den Cache gesendet werden.

Und diese Daten bleiben im Cache verschlüsselt. Und auch die Entschlüsselung erfolgt automatisch und transparent innerhalb des Client-Prozesses.

Derzeit werden 3DES- und AES128/AES196/AES256-Verschlüsselungen bereitgestellt und weitere werden hinzugefügt.

Sichere Kommunikation (TLS)

NCache stellt TLS für den sicheren Transport der Client/Server-Kommunikation bereit.

Darüber hinaus werden starke Verschlüsselungen bereitgestellt NCache So können Sie Daten über eine ungesicherte Verbindung verschlüsseln.

 

Cache-Verwaltung und -Überwachung

Die Cache-Verwaltung ist ein sehr wichtiger Aspekt eines verteilten In-Memory-Speichers. Ein guter Cache sollte Folgendes bieten:

  1. Web-GUI und Befehlszeilentools für die Cache-Verwaltung.
  2. Web-GUI-Tools zur Überwachung der Cache-Aktivitäten zur Laufzeit.
  3. Cache-Statistiken durch „Zähler“ sowohl unter Linux als auch unter Windows

NCache bietet in all diesen Bereichen leistungsstarke Unterstützung. Lesen Sie mehr darüber unter Verwaltungs- und Überwachungstools.

Funktionsbereich NCache
Admin-Tool (Web-GUI)

NCache Management Center ist ein leistungsstarkes Web-GUI-Tool für NCache. Sie erhalten eine Ansicht im Explorer-Stil und können den Cache-Cluster schnell von einem einzigen Ort aus verwalten. Dazu gehören das Erstellen/Bearbeiten des Caches und viele andere Funktionen.

Genehmigung

Überwachungstool (Web-GUI)

NCache Monitor ist Teil des Management Centers und ein leistungsstarkes Web-GUI-Tool, mit dem Sie überwachen können NCache clusterweite Aktivität von einem einzigen Standort aus. Es lässt Sie auch alles überwachen NCache Kunden von einem einzigen Standort aus.

Und Sie können nicht-NCache PerfMon zählt darin zum Vergleich mit NCache Statistiken. Dieser Echtzeitvergleich ist oft sehr wichtig.

PerfMon-Zähler

NCache bietet einen umfangreichen Satz von PerfMon-Zählern, die angezeigt werden können NCache Manager NCache Monitor oder ein beliebiges Drittanbieter-Tool, das die PerfMon-Überwachung unterstützt.

JMX-Zähler

NCache stellt einen umfangreichen Satz von JMX-Zählern für seine Java-Clients bereit, die von jedem Drittanbieter-Tool angezeigt werden können, das die JMX-Überwachung unterstützt.

SNMP-Zähler

NCache stellt einen umfangreichen Satz SNMP-Zähler für seine Java-Clients bereit, die von jedem Drittanbieter-Tool angezeigt werden können, das SNMP-Zähler unterstützt.

Admin-Tools
(Befehlszeile)

NCache bietet leistungsstarke Befehlszeilentools. Sie können einen Cache erstellen und hinzufügen remote clients hinzufügen, Serverknoten hinzufügen, den Cache starten/stoppen und vieles mehr.

Verwenden Sie diese Tools aus Ihren Skripten (Linux oder Windows) und automatisieren Sie verschiedene Cache-Verwaltungsaufgaben.

Verwaltungs- und Überwachungs-API (.NET und Java)

NCache stellt Java- und .NET-API zur Verwaltung und Überwachung der Caches und Clients bereit. Mit dieser API können Sie den Cache stoppen/starten, die Statistiken der verbundenen Clients abrufen oder die Zustandsinformationen des Cache-Clusters abrufen.

Spielplatz (Live + mit Installation)

NCache Playground bietet eine schnelle und interaktive Möglichkeit, sich damit vertraut zu machen NCache. Mit Playground können Sie ganz einfach erkunden NCache Beispiele erstellen, ausführen, Änderungen vornehmen und ausführen, ohne dass eine Entwicklungsumgebung erforderlich ist.

 

Web-Apps (Java + andere)

Das Wichtigste, was Web-Apps benötigen, ist der Websitzungsspeicher. NCache bietet starke Unterstützung für Java- und Node.js-Web-Apps, wie unten gezeigt.

Funktionsbereich NCache
Spring Boot-Sitzungen

NCache hat die Integration mit Spring Boot implementiert, um seine Sitzung zu speichern.

NCache bietet eine intelligente Sitzungsreplikation und ist viel schneller als jeder Datenbankspeicher für Sitzungen.

Spring Boot-Sitzungen (mehrere Standorte)

NCache ermöglicht Ihnen die gemeinsame Nutzung von Spring Boot-Sitzungen über mehrere Rechenzentren hinweg.

Dies eignet sich für Situationen, in denen Sie nicht alle Sitzungen in jedem Rechenzentrum replizieren möchten, sondern die Möglichkeit haben möchten, den Datenverkehr von einem Rechenzentrum zum anderen zu übertragen, ohne Ihre Java-Websitzungen zu verlieren.

Die Sitzung wird von einem Rechenzentrum zum nächsten verschoben, wenn sich der Benutzer bewegt.

Java Websitzungen

NCache hat einen JSP Servlet Session Provider (Java Servlet 4.0+) implementiert. Sie können es ohne Codeänderungen verwenden. Ändern Sie einfach web.xml

NCache bietet eine intelligente Sitzungsreplikation und ist viel schneller als jeder Datenbankspeicher für Sitzungen.

Java Websitzungen
(Mehrere Standorte)

NCache ermöglicht Ihnen die gemeinsame Nutzung von Java-Websitzungen über mehrere Rechenzentren hinweg.

Dies eignet sich für Situationen, in denen Sie nicht alle Sitzungen in jedem Rechenzentrum replizieren möchten, sondern die Möglichkeit haben möchten, den Datenverkehr von einem Rechenzentrum zum anderen zu übertragen, ohne Ihre Java-Websitzungen zu verlieren.

Die Sitzung wird von einem Rechenzentrum zum nächsten verschoben, wenn sich der Benutzer bewegt.

Node.js-Websitzungen

NCache hat einen Anbieter zum Speichern der Node.js-Websitzung implementiert.

NCache bietet eine intelligente Sitzungsreplikation und ist viel schneller als jeder Datenbankspeicher für Sitzungen.

Node.js-Websitzungen
(Mehrere Standorte)

NCache ermöglicht Ihnen die gemeinsame Nutzung von Node.js-Websitzungen über mehrere Rechenzentren hinweg.

Dies eignet sich für Situationen, in denen Sie nicht alle Sitzungen in jedem Rechenzentrum replizieren möchten, sondern die Möglichkeit haben möchten, den Datenverkehr von einem Rechenzentrum zum anderen zu übertragen, ohne Ihre Java-Websitzungen zu verlieren.

Die Sitzung wird von einem Rechenzentrum zum nächsten verschoben, wenn sich der Benutzer bewegt.

 

Web-Apps (.NET)

Das Wichtigste, was Web-Apps benötigen, ist der Websitzungsspeicher. NCache Bietet starke Unterstützung für ASP.NET Core und ASP.NET-Web-Apps, wie unten gezeigt.

Funktionsbereich NCache
ASP.NET Core Sessions

NCache hat einen ASP implementiert.NET Core Sitzungsanbieter. In diesem, NCache hat auch spezielle Sperren implementiert, um die Parallelitätskontrolle zu handhaben.

NCache bietet eine intelligente Sitzungsreplikation und ist viel schneller als jeder Datenbankspeicher für Sitzungen.

ASP.NET Core Sitzungen (mehrere Standorte)

NCache ermöglicht Ihnen die gemeinsame Nutzung von ASP.NET Core Sitzungen über mehrere Rechenzentren hinweg.

Dies eignet sich für Situationen, in denen Sie nicht alle Sitzungen in jedem Rechenzentrum replizieren möchten, sondern die Möglichkeit haben möchten, den Datenverkehr von einem Rechenzentrum zum anderen zu übertragen, ohne Ihren ASP zu verlieren.NET Core Sitzungen.

Die Sitzung wird von einem Rechenzentrum zum nächsten verschoben, wenn sich der Benutzer bewegt.

ASP.NET Core
SignalR Backplane

NCache hat ASP implementiert.NET Core SignalR Backplane für Echtzeit-Webanwendungen mit hohem Datenverkehr, die in Webfarmen mit mehreren Servern und Lastausgleich ausgeführt werden.

SignalR verwendet Pub/Sub-Messaging von NCache um Nachrichten von einem Webserver an einen anderen zu senden.

ASP.NET Core
Antwort-Cache

NCache hat ASP implementiert.NET Core Response Cache Middleware für Anwendungen, die in Webfarmen mit mehreren Servern mit Lastenausgleich ausgeführt werden.

Der Antwortcache bestimmt, wann Webantworten zwischengespeichert werden können, und speichert Antworten in NCache, und liefert Antworten aus dem Cache.

ASP.NET Core IDistributedCache

NCache hat einen IDistributedCache-Anbieter implementiert, der Ihnen die Verwendung ermöglicht NCache ohne Codeänderung, wenn Ihr ASP.NET Core Die Anwendung verwendet bereits die IDistributedCache-Schnittstelle.

ASP.NET Core
Identitätsserver

Sie können verwenden NCache als ASP.NET Core IdentityServer4 Cache und Datenspeicher.

ASP.NET & ASP.NET Core Sitzungsfreigabe

NCache ermöglicht die gemeinsame Nutzung von Sitzungen zwischen ASP.NET und ASP.NET Core um weitere Anwendungsbeispiele zu finden.

ASP.NET-Sitzungen

NCache hat einen ASP.NET Session State Provider (SSP) für .NET 4.8 implementiert. Sie können es ohne Codeänderungen verwenden. Ändern Sie einfach web.config.

NCache Bietet außerdem flexible Sitzungssperroptionen, um mit Robots umzugehen, die eine ASP.NET-Website überfluten.

NCache bietet eine intelligente Sitzungsreplikation und ist viel schneller als jeder Datenbankspeicher für Sitzungen.

ASP.NET-Sitzungen
(Multi-Site)

NCache ermöglicht Ihnen die gemeinsame Nutzung von ASP.NET-Sitzungen über mehrere Rechenzentren hinweg.

Dies eignet sich für Situationen, in denen Sie nicht alle Sitzungen in jedem Rechenzentrum replizieren möchten, sondern die Möglichkeit haben möchten, den Datenverkehr von einem Rechenzentrum zum anderen zu übertragen, ohne Ihre ASP.NET-Sitzungen zu verlieren.

Die Sitzung wird von einem Rechenzentrum zum nächsten verschoben, wenn sich der Benutzer bewegt.

ASP.NET View State

Ja. NCache hat ein ASP.NET View State Caching-Modul. Verwenden Sie es ohne Codeänderungen. Ändern Sie einfach die Konfigurationsdatei.

Hier sind einige erweiterte Funktionen, die von unterstützt werden NCache:

  • - Richtlinie auf Gruppenebene
  • - Ordnen Sie Seiten Gruppen zu
  • - Ansichtsstatus mit Sitzungen verknüpfen
  • - Maximale Anzahl der Anzeigestatus pro Benutzer
  • - Mehr
ASP.NET-Ausgabecache

NCache verfügt über einen implementierten ASP.NET-Ausgabecache-Anbieter. Es ermöglicht Ihnen, die ASP.NET-Seitenausgabe in einem verteilten In-Memory-Speicher zwischenzuspeichern und in einer Webfarm freizugeben.

ASP.NET
SignalR Backplane

NCache hat implementiert ASP.NET SignalR Backplane für Echtzeit-Webanwendungen mit hohem Datenverkehr, die in Webfarmen mit mehreren Servern und Lastausgleich ausgeführt werden.

SignalR verwendet Pub/Sub-Messaging von NCache um Nachrichten von einem Webserver an einen anderen zu senden.

 

Java-Integrationen

Hibernate ist eine sehr leistungsstarke und beliebte objektrelationale Mapping-Engine. Und glücklicherweise verfügt es auch über eine Second-Level-Cache-Anbieterarchitektur, die es Ihnen ermöglicht, einen Drittanbieter-Cache einzubinden, ohne Codeänderungen an der Hibernate-Anwendung vorzunehmen. NCache hat diesen Hibernate Second Level Cache-Anbieter implementiert.
See Ruhezustand der zweiten Ebene für weitere Einzelheiten.

Ebenso ist Spring Framework ein Open-Source-Anwendungsframework für Java, das aus mehreren Modulen besteht, die eine Reihe von Diensten bereitstellen. Sehen Spring-Datenintegration für weitere Einzelheiten.

Funktionsbereich NCache
2nd-Level-Cache in den Ruhezustand versetzen

NCache stellt einen Hibernate 2nd Level Cache-Anbieter bereit, den Sie ohne Codeänderungen in Ihre Java-App einbinden können.

NCache hat hier auch eine Datenbanksynchronisierungsfunktion implementiert, sodass Sie angeben können, welche Klassen mit der Datenbank synchronisiert werden sollen. NCache Hier können Sie OracleDependency, SqlDependency oder DbDependency angeben.

Frühlings-Caching

NCache Unterstützt die Cache-Integration vollständig mit Spring Framework Version 5.1 und höher.

JCache-API

NCache stellt eine Implementierung der JCache-API bereit. NCache hat auch die JCache-API für Funktionen erweitert, die NCache bereitstellt, die jedoch nicht von JCache unterstützt werden.

Sie können also ein- oder ausstecken NCache an jede Anwendung, die JCache verwendet, ohne Codeänderungen.

Java Persistence API (JPA)-Caching

NCache Bietet eine Integration mit JPA als Caching-Anbieter.

 

.NET-Integrationen

Funktionsbereich NCache
EF Core-Cache

Erweiterungsmethoden

NCache hat EF Core-Erweiterungsmethoden für das Caching implementiert, um EF-Anwendungen die Verwendung von Caching wirklich einfach zu machen. Außerdem erhält die Anwendung die volle Kontrolle darüber, wie Daten zwischengespeichert werden.

Entity Framework 6-Cache

Benutzerdefinierter ADO.NET-Anbieter

NCache hat einen Second-Level-Cache hinter den Kulissen für Entity Framework 6 implementiert. Sie können ihn anschließen NCache Fügen Sie Ihrer EF-Anwendung hinzu, führen Sie sie im Analysemodus aus und sehen Sie schnell alle von ihr verwendeten Abfragen. Anschließend können Sie entscheiden, welche Abfragen zwischengespeichert und welche übersprungen werden sollen.

NHibernate 2nd Level Cache

NCache stellt einen NHibernate L2-Cache-Anbieter bereit, den Sie über web.config- oder app.config-Änderungen einbinden können.

NCache hat auch eine Datenbanksynchronisierungsfunktion implementiert, sodass Sie angeben können, welche Klassen mit der Datenbank synchronisiert werden sollen. NCache Hier können Sie SqlDependency, OracleDependency oder DbDependency angeben.

 

Objekt-Caching-Funktionen

Funktionsbereich NCache
Abrufen, Hinzufügen, Einfügen, Entfernen, Existiert, Cache leeren

NCache Bietet mehr Variationen dieser Vorgänge und damit mehr Kontrolle für den Benutzer.

Abläufe

Es sind absolute und gleitende Ablauffristen vorgesehen.

Der absolute Ablauf eignet sich für Daten, die aus der Datenbank stammen und nach einer bekannten Zeit ablaufen müssen, da sie möglicherweise veraltet sind.

Gleitendes Ablaufdatum bedeutet, dass es nach einem Zeitraum der Inaktivität abläuft und sich für Sitzungs- und andere temporäre Daten eignet, die entfernt werden müssen, sobald sie nicht mehr benötigt werden.

Sperren und Entsperren

NCache Bietet sowohl Sperren als auch Entsperren. Die Sperr-API wird verwendet, um ein zwischengespeichertes Element exklusiv zu sperren, sodass niemand anderes es lesen oder schreiben kann. Dieses Element bleibt gesperrt, bis entweder die Sperre abläuft oder es entsperrt wird.

NCache Bietet außerdem „GetAndLock()“, das das Element vor dem Abrufen sperrt, und „InsertAndUnlock()“, das das Element aktualisiert und dann entsperrt, alles in einem Aufruf.

Streaming-API für große Objekte

Für große Objekte NCache Ermöglicht den Cache-Clients, sie auf die Art „GetChunk()“ abzurufen und auf die Art „AppendChunk()“ zu aktualisieren. Mit diesem, NCache Clients können große Objekte in den Cache ein- oder aus dem Cache streamen.

Artikelversionierung

Dadurch wird sichergestellt, dass nur ein Client ein Element aktualisieren kann und alle zukünftigen Aktualisierungen fehlschlagen, es sei denn, Cache-Clients rufen zuerst die neueste Version ab und aktualisieren sie dann.

Mehrere Objektversionen

NCache Ermöglicht das Speichern zweier verschiedener Versionen derselben Klasse im Cache durch verschiedene Apps. Jede App ruft ihre eigene Version ab und der Cache speichert eine Obermenge.

Transaktionen

Teilweise Unterstützung

Explizite Sperre
Implizites Sperren (Elementversionierung)
Eingabeprozessor (sind atomar)

Verteilte Datenstrukturen

NCache stellt verteilte Datenstrukturen wie Liste, Warteschlange, Satz, Wörterbuch und Zähler bereit.

 

Datengruppierung

Funktionsbereich NCache
Groups

NCache bietet Ihnen die Möglichkeit, zwischengespeicherte Elemente in einer Gruppe zu gruppieren.

Sie können später alle zu einer Gruppe gehörenden Elemente abrufen oder entfernen. Sie können auch nur die Schlüssel abrufen und dann nur eine Teilmenge davon abrufen.

Schlüsselwörter

NCache stellt ein Konzept namens Tags bereit. Ein Tag ist eine Zeichenfolge, die Sie einem oder mehreren zwischengespeicherten Elementen zuweisen können. Und einem zwischengespeicherten Element können mehrere Tags zugewiesen werden.

Und später können Sie Elemente abrufen, die zu einem oder mehreren Tags gehören, um sie zu manipulieren.

Sie können auch Tags als Teil der Kriterien in die SQL- oder LINQ-Suche einbeziehen.

Benannte Tags

NCache bietet eine Funktion mit benannten Tags, mit der Sie einem oder mehreren zwischengespeicherten Elementen einen „Schlüssel“ und ein „Tag“ zuweisen können. Und ein einzelnes zwischengespeichertes Element kann mehrere benannte Tags erhalten.

Später können Sie Elemente abrufen, die zu einem oder mehreren benannten Tags gehören. Sie können benannte Tags auch in SQL- und LINQ-Abfragen als Teil der Kriterien verwenden.

 

Abfragen (SQL-ähnlich)

Funktionsbereich NCache
SQL-Suche

NCache bietet eine umfangreiche SQL-basierte Suchfunktion. Sie können den Cache anhand von Objektattributen statt nur anhand von Schlüsseln durchsuchen.

Sie können auch Gruppen, Tags und benannte Tags in Ihre SQL-Abfrage einbeziehen.

SQL-Aktualisierung und -Löschung

NCache ermöglicht es Ihnen, eine UPDATE-SQL-Abfrage auszuführen, die zwischengespeicherte Elemente aktualisiert, ohne sie zuerst auf den Client zu laden.

NCache Sie können außerdem eine DELETE-SQL-Anweisung ausführen, die zwischengespeicherte Elemente löscht.

SQL für Tags, benannte Tags und Gruppen

NCache ermöglicht Ihnen, Tags, benannte Tags und Gruppennamen als Teil Ihrer SQL-Suchkriterien einzubeziehen.

LINQ-Abfragen (.NET)

NCache ermöglicht Ihnen das Durchsuchen des Caches mit LINQ-Abfragen von .NET-Anwendungen. LINQ ist eine beliebte Objektabfragesprache in .NET und NCache hat einen LINQ-Anbieter implementiert.

Wenn Sie also mit LINQ vertraut sind, können Sie den Cache auf die gleiche Weise durchsuchen wie mit NCache SQL.

 

Durchlesen, Durchschreiben, Cache Loader/Refresher

Viele Leute nutzen den In-Memory Distributed Store als „nebenbei“ Cache, wo sie Daten direkt aus der Datenbank abrufen und im Cache ablegen. Ein anderer Ansatz ist „Cache Through“, bei dem Ihre Anwendung einfach den Cache nach den Daten fragt. Und wenn die Daten nicht vorhanden sind, ruft der In-Memory Distributed Store sie aus Ihrer Datenquelle ab.

Das Gleiche gilt für das Durchschreiben. Write-Behind ist nichts anderes als ein Durchschreiben, bei dem der Cache sofort aktualisiert wird und die Kontrolle an die Clientanwendung zurückgegeben wird. Und die Datenbank oder Datenquelle wird asynchron aktualisiert, sodass die Anwendung nicht darauf warten muss.

NCache bietet leistungsstarke Funktionen in diesem Bereich.

Funktionsbereich NCache
Durchlesen

NCache ermöglicht es Ihnen, mehrere Read-Through-Handler zu implementieren und sich beim Cache als „benannte Anbieter“ zu registrieren. Dann kann der Kunde es erkennen NCache um bei einem „Cache-Miss“ ein bestimmtes Read-Through zu verwenden.

NCache Außerdem können Sie zur Laufzeit Read-Through-Handler hinzufügen, ohne den Cache anzuhalten.

Durchschreiben, Hinterschreiben

NCache ermöglicht es Ihnen, mehrere Write-Through-Handler zu implementieren und sich bei zu registrieren NCache als „benannte Anbieter“. Dann, wann immer die Anwendung ein zwischengespeichertes Element aktualisiert und mitteilt NCache auch Write-Through nennen, NCache Der Server ruft Ihren Write-Through-Handler auf.

Wenn Sie Write-Behind aktiviert haben, dann NCache Aktualisiert den Cache sofort und stellt die Datenbankaktualisierung in die Warteschlange. Ein Hintergrundthread verarbeitet sie und ruft Ihren Durchschreibehandler auf.

Automatisches Neuladen bei Ablauf und DB-Synchronisierung (Durchlesen)

Wenn Sie einen Read-Through-Handler implementiert haben, NCache ermöglicht es Ihnen, damit anzugeben, dass jedes Mal, wenn ein zwischengespeichertes Element abläuft, es nicht aus dem Cache entfernt wird, sondern NCache sollte Ihren Read-Through-Handler aufrufen, um eine neue Kopie dieses Objekts zu lesen und den Cache damit zu aktualisieren.

Sie können dasselbe angeben, wenn die Datenbanksynchronisierung aktiviert ist, eine Zeile in der Datenbank aktualisiert wird und ein entsprechendes zwischengespeichertes Element aus dem Cache entfernt wurde, jetzt aber mithilfe Ihres Durchlesens neu geladen wird.

Radlader

NCache ermöglicht es Ihnen, einen Loader zu implementieren und ihn beim Cache-Cluster zu registrieren. NCache Ruft es dann auf, um den Cache beim Start vorab zu füllen.

Cache Loader ist Ihr Code, der Daten aus Ihrer Datenquelle/Datenbank liest und den Cache beim Start füllt.

Refresher

NCache ermöglicht Ihnen die Implementierung eines Refreshers, der es Ihnen ermöglicht, Ihre Datenbank in regelmäßigen Abständen mit dem Cache zu synchronisieren. Dieser Prozess läuft im Hintergrund und hat keinen Einfluss auf die Anwendungsleistung.

 

Synchronisation mit Datenquellen

Die Datenbanksynchronisierung ist eine sehr wichtige Funktion für jeden guten verteilten In-Memory-Speicher. Da die meisten zwischengespeicherten Daten aus einer relationalen Datenbank stammen, gibt es immer Situationen, in denen andere Anwendungen oder Benutzer die Daten ändern und dazu führen können, dass die zwischengespeicherten Daten veraltet sind.

Um diese Situationen zu bewältigen, sollte ein guter verteilter In-Memory-Speicher die Angabe von Abhängigkeiten zwischen zwischengespeicherten Elementen und Daten in der Datenbank ermöglichen. Wenn sich dann die Daten in der Datenbank ändern, erkennt der Cache dies und macht entweder die Daten ungültig oder lädt eine neue Kopie neu.

Darüber hinaus sollte ein guter Cache es Ihnen ermöglichen, den Cache mit nicht relationalen Datenquellen zu synchronisieren, da es im wirklichen Leben auch viele solcher Situationen gibt.

NCache bietet eine sehr leistungsstarke Datenbanksynchronisierungsfunktion.

Funktionsbereich NCache
SQL-Abhängigkeit
(SQL Server)

NCache Bietet SqlDependency-Unterstützung für SQL Server. Sie können ein zwischengespeichertes Element einem auf SQL-Anweisungen basierenden Datensatz in der SQL Server-Datenbank zuordnen. Wenn sich dann dieser Datensatz ändert (Hinzufügen, Aktualisieren oder Entfernen), sendet MS SQL eine Datenbenachrichtigung an NCache und NCache macht dieses zwischengespeicherte Element ungültig oder lädt es neu, wenn Sie es mit ReadThrough aktiviert haben.

Mit dieser Funktion können Sie den Cache mit der SQL Server-Datenbank synchronisieren. Wenn Sie eine Situation haben, in der einige Anwendungen oder Benutzer Daten in der Datenbank direkt aktualisieren, können Sie diese Funktion aktivieren, um sicherzustellen, dass der Cache aktuell bleibt.

Oracle-Abhängigkeit (Oracle)

NCache bietet OracleDependency-Unterstützung für Oracle. Sie können ein zwischengespeichertes Element einem auf SQL-Anweisungen basierenden Datensatz in der Oracle-Datenbank zuordnen. Wenn sich dann dieser Datensatz ändert (Hinzufügen, Aktualisieren oder Entfernen), sendet Oracle eine Datenbenachrichtigung an NCache und NCache macht dieses zwischengespeicherte Element ungültig oder lädt es neu, wenn Sie es mit ReadThrough aktiviert haben.

Mit dieser Funktion können Sie den Cache mit der Oracle-Datenbank synchronisieren. Wenn Sie eine Situation haben, in der einige Anwendungen oder Benutzer Daten in der Datenbank direkt aktualisieren, können Sie diese Funktion aktivieren, um sicherzustellen, dass der Cache aktuell bleibt.

Db-Abhängigkeit (beliebige DB)

NCache bietet Unterstützung für die Synchronisierung des Caches mit jeder OLEDB-Datenbank. Diese Synchronisation basiert auf Polling. Und obwohl es nicht so in Echtzeit erfolgt wie eine Datenbankbenachrichtigung, ist es effizienter.

Es ist effizienter, weil in einer Umfrage NCache kann Tausende von zwischengespeicherten Elementen synchronisieren, anstatt im Fall von OracleDependency Tausende einzelner Datenbankbenachrichtigungen von Oracle zu erhalten.

Dateiabhängigkeit

NCache ermöglicht es Ihnen, eine Abhängigkeit von einer externen Datei anzugeben. Dann NCache überwacht diese Datei auf Aktualisierungen und wenn dies geschieht, NCache macht das entsprechende zwischengespeicherte Element ungültig.

Dadurch können Sie das zwischengespeicherte Element mit einer nicht relationalen Datenquelle synchron halten.

Benutzerdefinierte Abhängigkeit
(Jede Quelle)

NCache ermöglicht es Ihnen, eine benutzerdefinierte Abhängigkeit zu implementieren und Ihren Code beim Cache-Cluster zu registrieren. Dann, NCache ruft Ihren Code auf, um einige benutzerdefinierte Datenquellen auf Änderungen zu überwachen.

Wenn Änderungen vorgenommen werden, lösen Sie darin ein Abhängigkeitsupdate aus NCache wodurch das entsprechende zwischengespeicherte Element aus dem Cache entfernt wird.

Diese Funktion ist hilfreich, wenn Sie das zwischengespeicherte Element mit einer nicht relationalen Datenquelle synchronisieren müssen, die nicht von einer Flatfile erfasst werden kann. Daher behandelt die benutzerdefinierte Abhängigkeit diesen Fall.

 

Verwalten von Datenbeziehungen

Da die meisten zwischengespeicherten Daten aus relationalen Datenbanken stammen, bestehen Beziehungen zwischen verschiedenen Datenelementen. Ein guter Cache sollte es Ihnen also ermöglichen, diese Beziehungen im Cache anzugeben und dann die Datenintegrität aufrechtzuerhalten. Es sollte Ihnen ermöglichen, Eins-zu-Eins-, Eins-zu-Viele- und Viele-zu-Viele-Datenbeziehungen im Cache automatisch zu verarbeiten, ohne Ihre Anwendung mit dieser Aufgabe zu belasten.

Funktionsbereich NCache
Schlüsselbasierte Cache-Abhängigkeit

Sie können angeben, dass das zwischengespeicherte Element A vom zwischengespeicherten Element B abhängt, das wiederum vom zwischengespeicherten Element C abhängt.

Wenn dann C jemals aktualisiert oder entfernt wird, wird B automatisch aus dem Cache entfernt, und das löst auch die Entfernung von A aus dem Cache aus. Und das alles wird automatisch vom Cache erledigt.

Mit dieser Funktion können Sie Eins-zu-Eins-, Eins-zu-Viele- und Viele-zu-Viele-Beziehungen im Cache verfolgen und zwischengespeicherte Elemente ungültig machen, wenn ihre zugehörigen Elemente aktualisiert oder entfernt werden.

Schlüsselbasierte Multi-Cache-Abhängigkeit

Dies ist eine Erweiterung der schlüsselbasierten Cache-Abhängigkeit, mit der Ausnahme, dass Sie diese Abhängigkeit über mehrere Caches hinweg erstellen können.

 

Ereignisse und kontinuierliche Abfrage

Funktionsbereich NCache
Ereignisse auf Artikelebene
( onInsert / onRemove )

NCache kann Ereignisse an seine Kunden senden, wenn bestimmte zwischengespeicherte Elemente je nach Kundeninteresse aktualisiert oder entfernt werden.

Sie können Java- und .NET-Rückrufe bei registrieren NCache Client und Ihre Rückrufe werden in diesen Fällen aufgerufen.

NCache verwendet für diese Ereignisweitergabe ein eigenes Protokoll auf Socket-Ebene und ist daher superschnell.

Ereignisse auf Cache-Ebene
(Hinzufügen / Einfügen / Entfernen)

Wenn eingeschaltet, NCache Sendet Ereignisbenachrichtigungen an alle Clients, wenn ein Element hinzugefügt, aktualisiert oder aus dem Cache entfernt wird.

Sie können Java- und .NET-Rückrufe bei registrieren NCache Client und Ihre Rückrufe werden in diesen Fällen aufgerufen.

Kontinuierliche Abfrage

NCache bietet eine leistungsstarke Continuous Query (CQ)-Funktion. Mit CQ können Sie eine SQL-Abfrage angeben, für die NCache überwacht den Cache auf Hinzufügungen, Aktualisierungen oder Löschungen. Und Ihre Anwendung wird benachrichtigt, wenn dies geschieht.

Stellen Sie sich diese Funktion als äquivalent zu OracleDependency vor, jedoch für den Cache und nicht für die Datenbank.

 

Pub/Sub-Nachrichten (Kafka-Stil)

Funktionsbereich NCache
Betreff

NCache Ermöglicht Ihren Anwendungen, Nachrichten im Pub/Sub-Stil im Kafka-Stil über Topic zu versenden.

Warteschlange

NCache Ermöglicht Ihren Anwendungen, Nachrichten im Pub/Sub-Stil im Kafka-Stil über die Warteschlange zu versenden.

Dauerhafte Abonnements

Mit einem dauerhaften Abonnement können Kunden die Verbindung trennen NCache aus irgendeinem Grund, um ihre Nachrichten nicht zu verlieren. Wenn sie die Verbindung wiederherstellen, sehen sie alle Nachrichten, die während der Trennung gesendet wurden.

Nachrichtenpersistenz

NCache ermöglicht es Ihnen, alle Nachrichten im Pub/Sub-Messaging beizubehalten.

Themenpartitionierung

NCache ermöglicht die Zuordnung eines Themas zu einer oder mehreren Partitionen (Kafka-Stil). Dann, NCache stellt sicher, dass innerhalb jeder Partition alle zu diesem Thema geposteten Nachrichten immer geordnet sind, sodass sie auf die gleiche Weise verarbeitet werden können. Dies ist dem Verhalten von Kafka sehr ähnlich.

Nachrichtensequenzierung

Sobald Sie ein Thema einer Partition zugeordnet haben, dann NCache stellt sicher, dass innerhalb jeder Partition alle zu diesem Thema geposteten Nachrichten immer in der richtigen Reihenfolge sind, sodass sie auf die gleiche Weise verarbeitet werden können. Dies ist dem Verhalten von Kafka sehr ähnlich.

Garantie für die Zustellung von Nachrichten

NCache Mit dieser Option können Sie eine Nachrichtenzustellungsoption auswählen, die garantiert, dass die Nachricht im Pub/Sub-Thema verbleibt, bis sie wie gewünscht zugestellt wird.

Schemaverwaltung

NCache ermöglicht Ihnen die Schemaverwaltung im Pub/Sub-Messaging (Kafka-Stil).

Echtzeit-Streams
(Kafka-Stil)

NCache hat die Open-Source-Kafka-Streams übernommen und eine implementiert NCache Pub/Sub-Messaging-Anbieter dafür. Dies bedeutet, dass Sie die beliebten Kafka-Streams (.NET und Java) verwenden können NCache Dies ist viel schneller als Kafka, da es sich um einen In-Memory Distributed Store handelt.

Volltextsuche

Funktionsbereich NCache
Volltextsuche
(Lucene-API)

NCache bietet Volltextsuche über den Industriestandard Lucene. NCache hat Lucene in seinem In-Memory Distributed Store implementiert, sodass es superschnell und linear skalierbar ist.

Schema-Durchsetzung

NCache bietet Scheme Enforcement in seiner Volltextsuche mit dem Industriestandard Lucene. Auf diese Weise können Sie sicherstellen, dass alle indizierten Dokumente einem Schema entsprechen.

Indexmigration

NCache bietet Indexmigration in seiner Volltextsuche mit dem Industriestandard Lucene. Auf diese Weise können Sie Ihre vorhandenen Lucene-Indizes nutzen NCache Volltextsuche.

Datenaufnahme

NCache bietet Datenerfassung in seiner Volltextsuche mit dem Industriestandard Lucene. Auf diese Weise können Sie problemlos viele Daten aus Ihren vorhandenen Datenquellen injizieren NCache Volltextsuchindizes.

 

Big-Data-Verarbeitung und Analytik

Funktionsbereich NCache
Map-Reduce-Abfrage

NCache stellt ein MapReduce-Framework bereit, in dem Ihr Programm auf Cache-Servern zur parallelen Verarbeitung von Big Data ausgeführt werden kann.

Aggregatoren

NCache stellt einen Aggregator bereit, der mit dem MapReduce-Framework arbeitet und Ihnen statistische Daten liefert.

Eingabeprozessor

NCache Unterstützt die parallele Ausführung des Eintragsprozessors auf Cache-Knoten vollständig.

 

Cache-Größenverwaltung (Eviction-Richtlinien)

Funktionsbereich NCache
Maximale Cache-Größe (in MB) Unterstützte
LRU-Räumungen
(Zuletzt benutzt)
Unterstützte
LFU-Räumungen
(Am seltensten verwendet)
Unterstützte
Vorrangige Zwangsräumungen

NCache Außerdem können Sie für einige zwischengespeicherte Elemente die Priorität „Nicht entfernen“ festlegen, damit diese nicht entfernt werden.

Option nicht entfernen

NCache Hier können Sie die Option „Nicht entfernen“ für den gesamten Cache festlegen. Dann wird nichts entfernt, selbst wenn der Cache voll ist. Stattdessen erhalten die Clientanwendungen eine Fehlermeldung, dass der Cache voll ist, wenn sie versuchen, Daten zum Cache hinzuzufügen.

Bitte lesen Sie mehr darüber NCache und herunterladen ein 30-tägiger kostenloser Installationsschlüssel für NCache.

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