NCache Fonctionnalités:

 

Résumé des fonctionnalités

Ceci est un résumé de tous NCache caractéristiques. Veuillez visiter le Pages de produits or docs pour plus de détails sur chaque fonctionnalité.

Fonctionnalité
 
Prise en charge .NET et Java
- Clients de cache : .NET, Java, Node.js, Python
- Édition .NET : code côté serveur (.NET)
- Édition Java : code côté serveur (Java)
- Forfaits Java Maven
- Forfaits NuGet .NET
- Packages Node.js et Python
 
Prise en charge Windows et Linux
- Windows (serveur de cache, client de cache)
- Linux (serveur de cache, client de cache)
 
Prise en charge de Docker et Kubernetes
- Docker (Linux, Windows)
- Kubernetes (sur site)
- Azure Kubernetes Service (AKS)
-AWS Elastic Kubernetes Service (EKS)
- Red Hat OpenShift Kubernetes
- Moteur Google Kubernetes (GKE)
 
Performances et évolutivité
- Performances du cache Super rapide
- Évolutivité du cache Extrêmement évolutif (2 millions d'opérations/sec, cluster à 5 nœuds)
- API d'opérations en masse
- API d'opérations asynchrones
- Compression
- Sérialisation compacte rapide
- Indices
- Liaison NIC multiple
- Pipeline
 
Élasticité du cache (haute disponibilité)
- Cluster de cache dynamique
- Architecture peer-to-peer
- Basculement de connexion
- Détection du cerveau divisé et récupération automatique
-Configuration dynamique
- Grappes multiples
- Caches nommés
- Protocole de communication ( TCP )
- Événements spécifiques au cluster
- Arrêter le partitionnement en mode maintenance
 
Topologies de cache
- Cache local
- Cache client (près du cache)
- Cache en miroir
- Cache répliqué
- Cache partitionné
- Cache de partition-réplica
- Équilibrage des données partitionnées
- Équilibrage automatique de la charge
- Affinité des données partitionnées
- Persistance en direct
- Accès aux données à un seul saut
 
Réplication WAN (multi-centre de données)
- Actif Passif
- Actif – Actif (2 centres de données)
- Actif – Actif (3+ centres de données)
- Multiples Actifs – Multiples Passifs
- Résolution de conflit
- Déduplication
- Sécurité des données
 
Sécurité et Cryptage
- Authentification (Active Directory/LDAP)
- Autorisation
- Cryptage des données
-Communication sécurisée (TLS)
 
Administration et surveillance du cache
- Outil d'administration (interface graphique Web)
- Outil de surveillance (interface graphique Web)
- Compteurs PerfMon
- Compteurs JMX
- Compteurs SNMP
- Outils d'administration (ligne de commande)
- API d'administration et de surveillance (.NET et Java)
- Aire de jeux (Live + avec installation)
 
Applications Web (Java + Autres)
- Sessions de démarrage de printemps
- Sessions Spring Boot (multi-sites)
- Sessions Web Java
- Sessions Web Java (Multi-sites)
- Sessions Web Node.js
- Sessions Web Node.js (Multi-sites)
Fonctionnalité
 
Applications Web (.NET)
-ASP.NET Core Sessions
-ASP.NET Core Sessions (Multi-sites)
-ASP.NET Core SignalR Backplane
-ASP.NET Core Cache de réponse
-ASP.NET Core IDistributedCache
-ASP.NET Core Serveur d'identité
-ASP.NET et ASP.NET Core Partage de session
- Sessions ASP.NET
- Sessions ASP.NET (Multi-sites)
- ASP.NET View State
- Cache de sortie ASP.NET
- ASP.NET SignalR Backplane
 
Intégrations Java
- Hiberner le cache de 2ème niveau
- Mise en cache du printemps
-API JCache
- Mise en cache de l'API de persistance Java (JPA)
 
Intégrations .NET
-Cache principal EF
- Cache Entity Framework 6
- NHibernate Cache de 2e niveau
 
Fonctionnalités de mise en cache d'objets
- Obtenir, ajouter, insérer, supprimer, existe, vider le cache
- Expirations
- Verrouiller et déverrouiller
- API de streaming de gros objets
- Gestion des versions d'articles
- Plusieurs versions d'objets
- Opérations (Support partiel)
- Structures de données distribuées
 
Regroupement de données
- Groupes
- Mots clés
- Balises nommées
 
Requêtes (de type SQL)
- Recherche SQL
- Mise à jour et suppression SQL
- SQL sur les balises, les balises nommées et les groupes
- Requêtes LINQ (.NET)
 
Lecture, écriture, chargeur/actualisation du cache
- Lire à travers
- Écriture directe, écriture derrière
- Rechargement automatique à l'expiration et synchronisation de la base de données (lecture)
- Chargeur
- Remise à jour
 
Synchronisation avec les sources de données
- Dépendance SQL (SQL Server)
- Dépendance Oracle (Oracle)
- Dépendance de base de données (n'importe quelle base de données)
- Dépendance des fichiers
- Dépendance personnalisée (n'importe quelle source)
 
Gestion des relations de données
- Dépendance du cache basée sur les clés
- Dépendance multi-cache basée sur des clés
 
Événements et requête continue
- Événements au niveau de l'objet (onInsert/onRemove)
- Événements au niveau du cache (Ajouter/Insérer/Supprimer)
- Requête continue
 
Messagerie Pub/Sub (style Kafka)
- Sujet
- File d'attente
- Abonnements durables
- Persistance des messages
- Partitionnement de sujets
- Séquençage des messages
- Garantie de livraison des messages
- Gestion des schémas
- Flux en temps réel (style Kafka)
 
Recherche de texte intégral
- Recherche en texte intégral (API Lucene)
- Application du schéma
- Migration d'index
- Ingestion de données
 
Traitement et analyse de données volumineuses
- Requête Map-Reduce
- Agrégateurs
- Processeur d'entrée
 
Gestion de la taille du cache (politiques d'expulsion)
- Taille maximale du cache (en Mo)
- Expulsions LRU (moins récemment utilisées)
- Expulsions LFU (moins fréquemment utilisées)
- Expulsions prioritaires
- Option Ne pas expulser
 

Caractéristiques expliquées

 

Prise en charge .NET et Java

NCache fournit un support solide pour Java et .NET.

Zone de fonctionnalités NCache
Clients de cache : .NET, Java, Node.js, Python

Les clients .NET, Java, Node.js et Python sont officiellement pris en charge.

Édition .NET
Code côté serveur (.NET)

Exécutez le code côté serveur .NET de manière native.

Édition Java
Code côté serveur (Java)

Exécutez le code côté serveur Java de manière native.

Forfaits Java Maven

Ensemble complet de packages Maven fournis.

Forfaits NuGet .NET

Ensemble complet de packages NuGet fournis.

Packages Node.js et Python

Ensemble complet de packages Node.js et Python fournis.

 

Prise en charge Windows et Linux

NCache fournit un support solide pour Linux et Windows.

Zone de fonctionnalités NCache
Windows (serveur de cache, client de cache)

Windows officiellement pris en charge pour Cache Server et Cache Client

Linux (serveur de cache, client de cache)

Linux officiellement pris en charge pour Cache Server et Cache Client

 

Prise en charge de Docker et Kubernetes

NCache fournit un support solide pour Docker et Kubernetes.

Zone de fonctionnalités NCache
Docker (Linux, Windows)

Images Docker Linux et Windows officiellement prises en charge pour NCache Server

Kubernetes
(Sur site)

NCache peut être déployé de manière transparente dans n’importe quel cluster Kubernetes. NCache les serveurs peuvent être des pods basés sur Linux ou Windows.

Courir NCache Centre de gestion depuis l'intérieur et l'extérieur de Kubernetes pour accéder et gérer NCache .

Azure Kubernetes Service (AKS)

NCache peut être déployé de manière transparente dans n’importe quel cluster Azure Kubernetes (AKS). NCache les serveurs peuvent être des pods basés sur Linux ou Windows.

Courir NCache Centre de gestion depuis l'intérieur et l'extérieur d'AKS Kubernetes pour accéder et gérer le NCache .

Service AWS Elastic Kubernetes (EKS)

NCache peut être déployé de manière transparente dans n’importe quel cluster AWS Elastic Kubernetes (EKS). NCache les serveurs peuvent être des pods basés sur Linux ou Windows.

Courir NCache Centre de gestion depuis l'intérieur et l'extérieur d'EKS Kubernetes pour accéder et gérer le NCache .

Google Kubernetes Engine (GKE)

NCache peut être déployé de manière transparente dans n’importe quel cluster Google Kubernetes Engine (GKE). NCache les serveurs peuvent être des pods basés sur Linux ou Windows.

Courir NCache Centre de gestion depuis l'intérieur et l'extérieur de GKE Kubernetes pour accéder et gérer le NCache .

Red Hat OpenShift Kubernetes

NCache peut être déployé de manière transparente dans n’importe quel cluster Red Hat OpenShift Kubernetes. NCache les serveurs peuvent être des pods basés sur Linux ou Windows.

Courir NCache Centre de gestion depuis l'intérieur et l'extérieur d'OpenShift Kubernetes pour accéder et gérer le NCache .

 

Performances et évolutivité

NCache est extrêmement rapide et évolutif. Regarde comment NCache y parvient.

Zone de fonctionnalités NCache
Performances du cache

Super rapide

2 millions d'opérations/s, cluster à 5 nœuds

NCache est extrêmement rapide. S'il vous plaît voir son repères de performance qui peut évoluer davantage.

Vous pouvez effectuer une analyse comparative de NCache dans votre propre environnement en utilisant les outils de stress tests fournis avec NCache.

Évolutivité du cache

Extrêmement évolutif

2 millions d'opérations/s, cluster à 5 nœuds

NCache offre une évolutivité linéaire, ce qui signifie que plus vous ajoutez de nœuds au cluster, plus vos performances augmentent de manière linéaire. S'il vous plaît voir son repères de performance.

Vous pouvez effectuer une analyse comparative de NCache dans votre propre environnement en utilisant les outils de stress tests fournis avec NCache.

API d'opérations groupées

Obtenir, ajouter, insérer et supprimer en masse. Cela couvre la plupart des principales opérations de cache et offre une amélioration considérable des performances.

API des opérations asynchrones

Ajout, insertion et suppression asynchrones fournis.

L'opération asynchrone redonne le contrôle à l'application et effectue l'opération de cache en arrière-plan. Améliore considérablement le temps de réponse des applications.

Compression

Spécifiez ceci ainsi que le seuil de taille d'élément et seuls les éléments supérieurs au seuil sont compressés. Le reste est mis en cache non compressé.

Ce seuil de taille est fourni car la compression d'éléments plus petits ralentit souvent les choses.

Et vous pouvez configurer la « Compression » au moment de l'exécution via « Hot Apply ».

Sérialisation compacte rapide

La sérialisation compacte est extrêmement rapide car elle utilise du code précompilé pour sérialiser et également parce qu'elle stocke les identifiants de type au lieu de noms de type longs dans les objets sérialisés. C'est presque 10 fois plus rapide.

Une fois que vous avez enregistré des classes pour la sérialisation compacte, NCache génère du code de sérialisation et le compile en mémoire au moment de l'exécution et utilise ce code précompilé pour la sérialisation.

Vous pouvez mélanger la sérialisation compacte avec la sérialisation régulière sur les objets de votre choix.

Index

NCache permet de définir des index sur les attributs des objets.

NCache génère ensuite le code d'extraction de données pour ces index au moment de la connexion, le compile en mémoire et l'utilise côté client pour toutes les extractions de données. C'est beaucoup plus rapide que d'utiliser Reflection.

NCache crée également automatiquement des index sur les balises, les balises nommées et les groupes. Politiques d’expiration et d’expulsion.

Plusieurs liaisons NIC

Vous pouvez attribuer deux cartes réseau à un serveur de cache. L'un peut être utilisé pour que les clients communiquent avec le serveur de cache et le second pour que plusieurs serveurs de cache du cluster communiquent entre eux.

Cela améliore considérablement l’évolutivité de votre bande passante.

Vous pouvez également attribuer une carte réseau spécifique à un client de cache à utiliser pour communiquer avec le serveur de cache.

Pipelining

NCache utilise des pipelines pour les opérations d'E/S hautes performances entre les clients et les serveurs. Avec le pipeline, vous pouvez augmenter considérablement l’évolutivité.

Le pipeline est activé par défaut sur tous les caches mais peut être désactivé via la configuration.

 

Élasticité du cache (haute disponibilité)

L'élasticité du cache signifie la flexibilité du cache au moment de l'exécution. Êtes-vous capable d'effectuer les opérations suivantes lors de l'exécution sans arrêter le cache ou votre application ?

  1. Ajoutez ou supprimez des serveurs de cache lors de l'exécution sans arrêter le cache.
  2. Apportez des modifications à la configuration du cache sans arrêter le cache.
  3. Ajoutez ou supprimez des serveurs Web/d'applications sans arrêter le cache.
  4. Bénéficiez d'une prise en charge du basculement en cas de panne d'un serveur et les clients du cache peuvent continuer à fonctionner de manière transparente.

NCache fournit un clustering de cache dynamique auto-réparateur qui rend NCache très élastique. En savoir plus à ce sujet sur Clustering dynamique d'auto-réparation.

Zone de fonctionnalités NCache
Cluster de cache dynamique

NCache est très dynamique et vous permet d'ajouter ou de supprimer des serveurs de cache au moment de l'exécution sans aucune interruption du cache ou de votre application.

Lorsque vous faites cela, les données sont automatiquement rééquilibrées au moment de l'exécution (appelé transfert d'état) et sans aucune interruption du cache ou de ses clients. Il n’y a également aucune dégradation des performances.

Architecture pair à pair

NCache le cluster de cache a une architecture peer-to-peer. Cela signifie qu'il n'y a pas de « maître/esclave » ni de « règle majoritaire » dans le cluster.

Tous les nœuds sont égaux. Il existe un nœud « coordinateur » qui est le nœud le plus ancien. En cas de panne, le nœud suivant le plus ancien assume automatiquement ce rôle.

Cela signifie que si un serveur tombe en panne, le cluster reste toujours fonctionnel et correct.

Basculement de connexion
(Cluster, Client/Serveur)

NCache fournit une prise en charge complète du basculement de connexion entre les clients et les serveurs de cache ainsi qu'au sein du cluster de cache.

En cas de panne du serveur de cache, NCache les clients continuent de travailler avec les autres serveurs du cluster sans aucune interruption.

Le cluster se gère automatiquement en rééquilibrant ses données et en recréant des répliques si nécessaire.

Détection de cerveau divisé et récupération automatique

La détection du cerveau divisé est fournie et vous êtes averti via NCache événements lorsque cela se produit et la récupération automatique est fournie.

Configuration dynamique

NCache la configuration du cluster n'est pas codée en dur et lorsque vous ajoutez ou supprimez des serveurs au moment de l'exécution, tous les autres serveurs du cluster en sont informés.

NCache les clients découvrent également tous les serveurs et diverses autres configurations au moment de l'exécution à partir du cluster de cache.

De plus, la fonctionnalité « Hot Apply » vous permet de modifier une grande partie de la configuration au moment de l'exécution sans rien arrêter.

Grappes multiples

NCache vous permet de créer plusieurs clusters de cache de topologies identiques ou différentes sur le même ensemble de serveurs de cache.

Caches nommés

NCache vous permet de créer plusieurs caches nommés sur le même ensemble de serveurs de cache.

Protocole de communication

TCP

Événements spécifiques au cluster

NCache fournit des événements sur les changements dans le cluster tels que : MemberJoined, MemberLeft, CacheStopped, etc.

Ces événements peuvent être transmis de manière native aux applications Java et .NET.

Arrêter le partitionnement en mode maintenance

NCache permet d'arrêter un serveur de cache en "Mode Maintenance" auquel cas même si ce serveur a quitté le cluster, NCache n'effectue pas de répartition automatique. Plutôt, NCache continue de fonctionner sans ce nœud jusqu'à ce qu'il soit rétabli.

Ce comportement est différent du comportement standard où un nœud quittant le cluster déclenche automatiquement le partitionnement.

 

Topologies de cache

Les topologies de cache déterminent la stratégie de stockage des données, de réplication et de connexion client. Il existe différentes topologies pour différents types d'utilisations. Lire plus de détails sur NCache mise en cache des topologies sur Topologies de cache.

Zone de fonctionnalités NCache
Cache local

InProc et OutProc.

InProc est beaucoup plus rapide et vous offre « InProc Speed ​​» mais votre consommation de mémoire est plus élevée si vous avez plusieurs instances sur la même machine.

OutProc est légèrement plus lent en raison du coût IPC et de sérialisation, mais vous permet d'économiser de la mémoire car il n'y a qu'une seule copie par machine.

Cache Client
(Près de la cachette)

Le cache client est simplement un cache local (InProc/OutProc) sur le NCache remote client machine qui conserve une copie de toutes les données que vous récupérez du cluster de cache.

Ce cache client est également synchronisé avec le cluster de cache. Ainsi, si des données changent dans le cluster de cache, elles sont également immédiatement mises à jour dans le cache client.

Avec ça, NCache les clients bénéficient des avantages d'un cache local ultra-rapide sans compromettre l'intégrité des données et sans limiter la taille du cache à la mémoire d'un seul client.

Cache en miroir

Le cache miroir est un cache actif-passif à 2 nœuds. Tous les clients se connectent au nœud actif et la mise en miroir des données s'effectue de manière asynchrone.

En cas de panne du nœud actif, le nœud passif devient automatiquement actif et tous les clients s'y connectent automatiquement.

Cache répliqué

Dans le cache répliqué, l'intégralité du cache est répliquée sur tous les nœuds du cluster.

Vous pouvez avoir plus de 2 nœuds et tous les nœuds sont actifs, ce qui signifie que les clients s'y connectent directement pour les opérations de lecture-écriture.

Les mises à jour sont effectuées de manière synchrone au sein du cluster et sont donc plus lentes que les autres topologies mais restent assez rapides. Les lectures sont ultra rapides.

Chaque client se connecte à un seul nœud. Vous pouvez activer l'équilibrage de charge ou spécifier une liste de serveurs ordonnée que les clients utiliseront pour la connexion.

Cache partitionné

Prise en charge complète du basculement en cas de panne d'un serveur (bien qu'il y ait une perte de données dans ce cas).

Le cache partitionné est une topologie très puissante. Vous pouvez partitionner sans réplication pour accélérer le cache et également utiliser moins de mémoire car vous pouvez toujours recharger certaines données si elles sont perdues du cache.

Dans le cache partitionné, l'intégralité du cache est partitionnée et chaque serveur de cache obtient une partition. Toutes les partitions sont créées ou supprimées et leurs compartiments sont automatiquement réaffectés au moment de l'exécution lorsque vous ajoutez/supprimez des nœuds.

La fonction de rééquilibrage des données est fournie même si aucune partition n'est ajoutée ou supprimée, mais lorsqu'une partition est submergée par trop de données.

Cache de Partition-Réplica

Identique au cache partitionné (lire ci-dessus).

Fournit également une réplique pour chaque partition conservée sur un autre serveur de cache. Cela offre une fiabilité contre la perte de données en cas de panne d'un nœud.

Tout comme les partitions, les répliques sont également créées dynamiquement.

L'équilibrage des données met également à jour les réplicas.

Équilibrage des données partitionnées

Les données sont automatiquement rééquilibrées lorsque vous ajoutez/supprimez des serveurs de cache du cluster.

Les données sont également rééquilibrées automatiquement lorsqu'un serveur de cache contient beaucoup plus de données que d'autres serveurs. Vous pouvez configurer pour cela le seuil de différence. Vous pouvez désactiver le rééquilibrage automatique dans ce cas et le faire manuellement si vous le souhaitez.

Cela s'applique à la fois au cache partitionné et au cache de réplique de partition.

Équilibrage de charge automatique

Les clients sont équilibrés entre les nœuds de serveur dans le cas d'une topologie de cache répliqué.

Pour les topologies de cache partitionné, tous les clients sont connectés à tous les nœuds pour un fonctionnement à saut unique et sont donc également équilibrés.

Affinité des données partitionnées

NCache fournit une affinité avec les données. Pour l'utiliser, vous spécifiez la clé de l'autre élément à l'intérieur de {} d'un élément, puis cet élément reste sur la même partition que les autres éléments ayant la même affinité.

Persistance en direct

NCache vous permet d'activer Live Persistence pour n'importe quel cache, auquel cas toutes ses données sont conservées dans un magasin de persistance LiteDB. Il s'agit d'un magasin persistant binaire qui reflète tous les compartiments d'un cluster de cache. La persistance se fait LIVE au moment de l'exécution.

Vous pouvez restaurer un cache à partir de sa copie persistante si vous le souhaitez.

Accès aux données à un seul saut

Dans toutes les topologies de cache, NCache les clients peuvent accéder aux données mises en cache en un seul saut.

 

Réplication WAN (multi-centre de données)

La réplication WAN est une fonctionnalité importante pour de nombreux clients dont les applications sont déployées dans plusieurs centres de données (plusieurs régions ou zones de disponibilité dans le cloud), soit à des fins de reprise après sinistre, soit pour l'équilibrage de charge du trafic régional.

L'idée derrière la réplication WAN est qu'elle ne doit pas ralentir le cache dans chaque emplacement géographique en raison de la latence élevée du WAN. NCache fournit Bridge Topology pour gérer tout cela.

En savoir plus à ce sujet sur Réplication WAN de NCache.

Zone de fonctionnalités NCache
Actif Passif

Topologie de pont actif-passif

Vous pouvez créer un pont entre les sites actif et passif. Le site actif soumet toutes les mises à jour au pont qui les réplique ensuite sur le site passif.

Actif – Actif
(2 centres de données)

Topologie de pont actif-actif

Vous pouvez créer un Bridge entre deux sites actifs. Les deux soumettent leurs mises à jour au Bridge qui gère les conflits selon la règle « la dernière mise à jour gagne » ou via un gestionnaire de résolution de conflits personnalisé fourni par vous. Ensuite, le Bridge s'assure que les deux sites disposent de la même mise à jour.

Actif – Actif
(3+ centres de données)

Topologie de pont actif-actif

Vous pouvez créer un pont entre trois sites actifs ou plus. Tous soumettent leurs mises à jour au Bridge qui gère les conflits selon la règle « la dernière mise à jour gagne » ou via un gestionnaire de résolution de conflits personnalisé fourni par vous. Ensuite, le Bridge s'assure que tous les sites disposent de la même mise à jour.

Multiples Actifs – Multiples Passifs

NCache vous permet de créer un pont entre plusieurs sites actifs et plusieurs sites passifs.

Résolution de conflit

Par défaut, l'algorithme « la dernière mise à jour gagne » est utilisé pour résoudre les conflits. Mais vous pouvez spécifier un « gestionnaire de résolution de conflit personnalisé » appelé pour résoudre le conflit en comparant le contenu des deux objets et en décidant lequel gagne.

Déduplication

NCache Bridge optimise la file d'attente de réplication en dédupliquant les éléments. Si la même clé est mise à jour plusieurs fois, elle ne réplique que la dernière.

Sécurité des données

Vous pouvez chiffrer les données avec les algorithmes 3DES et AES afin qu'elles soient mises en cache en tant que données chiffrées avant leur transport via le pont vers l'autre site via le WAN.

Sinon, vous pouvez utiliser un VPN entre plusieurs centres de données sur le WAN pour des raisons de sécurité.

 

Sécurité et Cryptage

De nombreuses applications traitent des données sensibles ou sont critiques et la sécurité est donc une préoccupation très importante pour elles.

NCache fournit un accès restreint au cache et à ses serveurs basé sur l'authentification et l'autorisation pour classer les personnes en différents groupes d'utilisateurs. Et cela permet également aux données d'être chiffrées dans le processus d'application client avant qu'elles ne soient transférées vers le cache.

NCache fournit un soutien solide pour la sécurité.

Zone de fonctionnalités NCache
Authentification
(Active Directory/LDAP)

Vous pouvez authentifier les utilisateurs auprès d'Active Directory ou de LDAP. Si la sécurité est activée, personne ne peut accéder au cache sans authentification et autorisation.

Autorisation

Vous pouvez autoriser les utilisateurs à être soit des « utilisateurs », soit des « administrateurs ». Les utilisateurs ne peuvent accéder au cache que pour les opérations de lecture-écriture, tandis que les « administrateurs » peuvent administrer les serveurs de cache et les clusters.

Cryptage des données

Vous pouvez activer le cryptage et NCache chiffre automatiquement tous les éléments du client avant de les envoyer au cache.

Et ces données sont conservées cryptées lorsqu’elles sont dans le cache. Et le décryptage s’effectue également automatiquement et de manière transparente au sein du processus client.

Actuellement, les cryptages 3DES et AES128/AES196/AES256 sont fournis et d'autres sont ajoutés.

Communication sécurisée (TLS)

NCache fournit TLS pour le transport sécurisé pour la communication client/serveur.

De plus, des cryptages puissants sont fournis par NCache afin que vous puissiez crypter les données sur une connexion non sécurisée.

 

Administration et surveillance du cache

L'administration du cache est un aspect très important d'un magasin distribué en mémoire. Un bon cache doit fournir les éléments suivants :

  1. Interface graphique Web et outils de ligne de commande pour l'administration du cache.
  2. Outils d'interface graphique Web pour surveiller les activités de cache au moment de l'exécution.
  3. Mettre en cache les statistiques via des « compteurs » sous Linux et Windows

NCache apporte un soutien puissant dans tous ces domaines. En savoir plus à ce sujet sur Outils d'administration et de surveillance.

Zone de fonctionnalités NCache
Outil d'administration (interface graphique Web)

NCache Management Center est un puissant outil d'interface graphique Web pour NCache. Il vous offre une vue de style explorateur et vous permet d'administrer rapidement le cluster de cache à partir d'un seul endroit. Cela inclut la création/édition de cache et de nombreuses autres fonctions.

Autorisation

Outil de surveillance (interface graphique Web)

NCache Monitor fait partie du Management Center et est un puissant outil d'interface graphique Web qui vous permet de surveiller NCache activité à l'échelle du cluster à partir d'un seul emplacement. Il vous permet également de surveiller tous NCache clients à partir d’un seul endroit.

Et vous pouvez incorporer des non-NCache PerfMon y compte pour comparaison avec NCache Statistiques. Cette comparaison en temps réel est souvent très importante.

Compteurs de performances

NCache fournit un riche ensemble de compteurs PerfMon qui peuvent être vus à partir de NCache Gestionnaire, NCache Monitor, ou tout outil tiers prenant en charge la surveillance PerfMon.

Compteur JMX

NCache fournit un riche ensemble de compteurs JMX pour ses clients Java, visibles à partir de n'importe quel outil tiers prenant en charge la surveillance JMX.

Compteur SNMP

NCache fournit un riche ensemble de compteurs SNMP pour ses clients Java, visibles à partir de n'importe quel outil tiers prenant en charge les compteurs SNMP.

Outils d'administration
(Ligne de commande)

NCache fournit de puissants outils de ligne de commande. Vous pouvez créer un cache, ajouter remote clients dessus, ajoutez-y des nœuds de serveur, démarrez/arrêtez le cache, et bien plus encore.

Utilisez ces outils à partir de vos scripts (Linux ou Windows) et automatisez diverses tâches d'administration du cache.

API d'administration et de surveillance (.NET et Java)

NCache fournit des API Java et .NET pour gérer et surveiller les caches et les clients. Grâce à cette API, vous pouvez arrêter/démarrer le cache, obtenir les statistiques des clients connectés ou obtenir les informations sur l'état du cluster de cache.

Aire de jeux (Live + avec installation)

NCache Playground offre un moyen rapide et interactif de vous familiariser avec NCache. Avec Playground, vous pouvez facilement explorer NCache exemples, exécutez-les, apportez des modifications et exécutez-les sans avoir besoin d'un environnement de développement.

 

Applications Web (Java + Autres)

La chose la plus importante dont les applications Web ont besoin est le stockage des sessions Web. NCache fournit une prise en charge solide des applications Web Java et Node.js, comme indiqué ci-dessous.

Zone de fonctionnalités NCache
Sessions de démarrage de printemps

NCache a implémenté l'intégration avec Spring Boot pour stocker sa session.

NCache fournit une réplication de session intelligente et est beaucoup plus rapide que n'importe quel stockage de base de données pour les sessions.

Sessions de démarrage Spring (multi-sites)

NCache vous permet de partager des sessions Spring Boot sur plusieurs centres de données.

Cela convient aux situations dans lesquelles vous ne souhaitez pas répliquer toutes les sessions sur chaque centre de données, mais souhaitez pouvoir faire déborder le trafic d'un centre de données à un autre sans perdre vos sessions Web Java.

La session passe d'un centre de données à l'autre au fur et à mesure que l'utilisateur se déplace.

Sessions Web Java

NCache a implémenté un fournisseur de session de servlet JSP (Java Servlet 4.0+). Vous pouvez l'utiliser sans aucune modification de code. Changez simplement web.xml

NCache fournit une réplication de session intelligente et est beaucoup plus rapide que n'importe quel stockage de base de données pour les sessions.

Sessions Web Java
(Multisite)

NCache vous permet de partager des sessions Web Java sur plusieurs centres de données.

Cela convient aux situations dans lesquelles vous ne souhaitez pas répliquer toutes les sessions sur chaque centre de données, mais souhaitez pouvoir faire déborder le trafic d'un centre de données à un autre sans perdre vos sessions Web Java.

La session passe d'un centre de données à l'autre au fur et à mesure que l'utilisateur se déplace.

Sessions Web Node.js

NCache a implémenté un fournisseur pour stocker la session Web Node.js.

NCache fournit une réplication de session intelligente et est beaucoup plus rapide que n'importe quel stockage de base de données pour les sessions.

Sessions Web Node.js
(Multisite)

NCache vous permet de partager des sessions Web Node.js sur plusieurs centres de données.

Cela convient aux situations dans lesquelles vous ne souhaitez pas répliquer toutes les sessions sur chaque centre de données, mais souhaitez pouvoir faire déborder le trafic d'un centre de données à un autre sans perdre vos sessions Web Java.

La session passe d'un centre de données à l'autre au fur et à mesure que l'utilisateur se déplace.

 

Applications Web (.NET)

La chose la plus importante dont les applications Web ont besoin est le stockage des sessions Web. NCache fournit un support important pour ASP.NET Core et ASP.NET Web Apps comme indiqué ci-dessous.

Zone de fonctionnalités NCache
ASP.NET Core Sessions

NCache a mis en place un ASP.NET Core Fournisseur de sessions. Dans ce, NCache a également implémenté un verrouillage spécial pour gérer le contrôle de concurrence.

NCache fournit une réplication de session intelligente et est beaucoup plus rapide que n'importe quel stockage de base de données pour les sessions.

ASP.NET Core Sessions (Multi-sites)

NCache vous permet de partager ASP.NET Core sessions sur plusieurs centres de données.

Cela convient aux situations dans lesquelles vous ne souhaitez pas répliquer toutes les sessions sur chaque centre de données, mais souhaitez pouvoir faire déborder le trafic d'un centre de données à un autre sans perdre votre ASP..NET Core sessions.

La session passe d'un centre de données à l'autre au fur et à mesure que l'utilisateur se déplace.

ASP.NET Core
SignalR Backplane

NCache a implémenté ASP.NET Core SignalR Backplane pour les applications Web en temps réel à fort trafic exécutées dans des fermes Web multiserveurs à charge équilibrée.

SignalR utilise la messagerie Pub/Sub de NCache pour envoyer des messages d'un serveur Web à un autre.

ASP.NET Core
Cache de réponse

NCache a implémenté ASP.NET Core Intergiciel de cache de réponse pour les applications s'exécutant dans des fermes Web multiserveurs à charge équilibrée.

Response Cache détermine quand les réponses Web peuvent être mises en cache, stocke les réponses dans NCache, et sert les réponses du cache.

ASP.NET Core IDistributedCache

NCache a implémenté un fournisseur IDistributedCache qui vous permet d'utiliser NCache sans aucun changement de code si votre ASP.NET Core l'application utilise déjà l'interface IDistributedCache.

ASP.NET Core
Serveur d'identité

Vous pouvez utiliser NCache en tant qu'ASP.NET Core Cache et magasin de données IdentityServer4.

ASP.NET & ASP.NET Core Partage de session

NCache vous permet de partager des sessions entre ASP.NET et ASP.NET Core applications.

Sessions ASP.NET

NCache a implémenté un fournisseur d'état de session (SSP) ASP.NET pour .NET 4.8. Vous pouvez l'utiliser sans aucune modification de code. Changez simplement web.config.

NCache fournit également des options de verrouillage de session flexibles pour gérer les robots inondant un site Web ASP.NET.

NCache fournit une réplication de session intelligente et est beaucoup plus rapide que n'importe quel stockage de base de données pour les sessions.

Sessions ASP.NET
(Multisite)

NCache vous permet de partager des sessions ASP.NET sur plusieurs centres de données.

Cela convient aux situations dans lesquelles vous ne souhaitez pas répliquer toutes les sessions sur chaque centre de données, mais souhaitez pouvoir faire déborder le trafic d'un centre de données à un autre sans perdre vos sessions ASP.NET.

La session passe d'un centre de données à l'autre au fur et à mesure que l'utilisateur se déplace.

ASP.NET View State

Oui. NCache a un ASP.NET View State module de mise en cache. Utilisez-le sans aucune modification de code. Modifiez simplement le fichier de configuration.

Voici quelques fonctionnalités avancées prises en charge par NCache:

  • - Politique au niveau du Groupe
  • - Associer des pages à des groupes
  • - Lier l'état d'affichage aux sessions
  • - Nombre maximum d'états d'affichage par utilisateur
  • - Plus
Cache de sortie ASP.NET

NCache a un fournisseur de cache de sortie ASP.NET implémenté. Il vous permet de mettre en cache la sortie de la page ASP.NET dans un magasin distribué en mémoire et de la partager dans une batterie de serveurs Web.

ASP.NET
SignalR Backplane

NCache a mis en place ASP.NET SignalR Backplane pour les applications Web en temps réel à fort trafic exécutées dans des fermes Web multiserveurs à charge équilibrée.

SignalR utilise la messagerie Pub/Sub de NCache pour envoyer des messages d'un serveur Web à un autre.

 

Intégrations Java

Hibernate est un moteur de cartographie relationnelle objet très puissant et populaire. Et, heureusement, il dispose également d'une architecture de fournisseur de cache de deuxième niveau qui vous permet de connecter un cache tiers sans apporter de modifications au code de l'application Hibernate. NCache a implémenté ce fournisseur Hibernate Second Level Cache.
See Cache de deuxième niveau d'hibernation pour en savoir plus.

De même, Spring Framework est un framework d'application Open Source pour Java comprenant plusieurs modules qui fournissent une gamme de services. Voir Intégration de données Spring pour en savoir plus.

Zone de fonctionnalités NCache
Hiberner le cache de 2e niveau

NCache fournit un fournisseur de cache Hibernate 2nd Level que vous pouvez connecter à votre application Java sans aucune modification de code.

NCache a également implémenté une fonctionnalité de synchronisation de base de données dans ce afin que vous puissiez spécifier quelles classes doivent être synchronisées avec la base de données. NCache vous permet de spécifier OracleDependency, SqlDependency ou DbDependency pour cela.

Mise en cache du printemps

NCache prend entièrement en charge l'intégration du cache avec Spring Framework version 5.1 et ultérieure.

API JCache

NCache fournit une implémentation de l'API JCache. NCache a également étendu l'API JCache pour les fonctionnalités qui NCache fournit mais qui ne sont pas pris en charge par JCache.

Ainsi, vous pouvez brancher ou débrancher NCache à n'importe quelle application utilisant JCache sans aucune modification de code.

Mise en cache de l'API de persistance Java (JPA)

NCache fournit une intégration avec JPA en tant que fournisseur de mise en cache.

 

Intégrations .NET

Zone de fonctionnalités NCache
Cache de base EF

Méthodes d'extension

NCache a implémenté les méthodes d'extension EF Core pour la mise en cache afin de simplifier grandement l'utilisation de la mise en cache par les applications EF. Il donne également à l'application un contrôle total sur la manière de mettre en cache les données.

Cache Entity Framework 6

Fournisseur ADO.NET personnalisé

NCache a implémenté un cache de deuxième niveau en coulisse pour Entity Framework 6. Vous pouvez vous connecter NCache à votre application EF, exécutez-la en mode analyse et voyez rapidement toutes les requêtes qu'elle utilise. Ensuite, vous pouvez décider quelles requêtes doivent être mises en cache et lesquelles ignorer.

Cache Hibernate de 2e niveau

NCache fournit le fournisseur de cache NHibernate L2 que vous pouvez connecter via les modifications web.config ou app.config.

NCache a également implémenté la fonction de synchronisation de la base de données afin que vous puissiez spécifier quelles classes doivent être synchronisées avec la base de données. NCache vous permet de spécifier SqlDependency, OracleDependency ou DbDependency pour cela.

 

Fonctionnalités de mise en cache d'objets

Zone de fonctionnalités NCache
Obtenir, ajouter, insérer, supprimer, existe, vider le cache

NCache offre plus de variations de ces opérations et donc plus de contrôle à l'utilisateur.

Expiration

Expirations absolues et glissantes fournies.

L'expiration absolue convient aux données provenant de la base de données et doit expirer après une heure connue car elles peuvent devenir obsolètes.

L'expiration glissante signifie expirer après une période d'inactivité et convient aux sessions et autres données temporaires qui doivent être supprimées une fois qu'elles ne sont plus nécessaires.

Verrouiller et déverrouiller

NCache fournit à la fois le verrouillage et le déverrouillage. L'API de verrouillage est utilisée pour verrouiller exclusivement un élément mis en cache afin que personne d'autre ne puisse le lire ou l'écrire. Cet élément reste verrouillé jusqu'à ce que le verrouillage expire ou qu'il soit déverrouillé.

NCache fournit également "GetAndLock()", qui verrouille l'élément avant de le récupérer, et "InsertAndUnlock()" qui met à jour l'élément puis le déverrouille, le tout en un seul appel.

API de streaming d'objets volumineux

Pour les gros objets, NCache permet aux clients du cache de les récupérer de la manière "GetChunk()" et de les mettre à jour de la manière "AppendChunk()". Avec ça, NCache les clients peuvent diffuser des objets volumineux depuis le cache.

Gestion des versions d'éléments

Cela garantit qu'un seul client peut mettre à jour un élément et que toutes les mises à jour futures échoueront à moins que les clients du cache ne récupèrent d'abord la dernière version, puis la mettent à jour.

Versions d'objets multiples

NCache permet à deux versions différentes de la même classe d'être stockées dans le cache par différentes applications. Chaque application récupère sa propre version et le cache conserve un surensemble.

Transactions

Support partiel

Verrouillage explicite
Verrouillage implicite (versioning des éléments)
Processeur d'entrée (sont atomiques)

Structures de données distribuées

NCache fournit des structures de données distribuées telles que List, Queue, Set, Dictionary et Counter.

 

Regroupement de données

Zone de fonctionnalités NCache
Groupes

NCache vous offre la possibilité de regrouper les éléments mis en cache dans un groupe.

Vous pouvez ensuite récupérer ou supprimer tous les éléments appartenant à un groupe. Vous pouvez également récupérer uniquement les clés, puis n'en récupérer qu'un sous-ensemble.

Tags

NCache fournit un concept appelé Tags. Une balise est une chaîne que vous pouvez attribuer à un ou plusieurs éléments mis en cache. Et un élément mis en cache peut se voir attribuer plusieurs balises.

Et, plus tard, vous pourrez récupérer des éléments appartenant à un ou plusieurs Tags afin de les manipuler.

Vous pouvez également inclure des balises dans la recherche SQL ou LINQ dans le cadre des critères.

Balises nommées

NCache fournit une fonctionnalité de balises nommées où vous pouvez attribuer une « clé » et une « balise » à un ou plusieurs éléments mis en cache. Et un seul élément mis en cache peut obtenir plusieurs balises nommées.

Plus tard, vous pourrez récupérer des éléments appartenant à une ou plusieurs balises nommées. Vous pouvez également utiliser des balises nommées dans les requêtes SQL et LINQ dans le cadre des critères.

 

Requêtes (de type SQL)

Zone de fonctionnalités NCache
Recherche SQL

NCache fournit une riche capacité de recherche basée sur SQL. Vous pouvez effectuer une recherche dans le cache en fonction des attributs d'objet plutôt que uniquement des clés.

Vous pouvez également inclure des groupes, des balises et des balises nommées dans votre requête SQL.

Mise à jour et suppression SQL

NCache vous permet d'exécuter une requête SQL UPDATE qui met à jour les éléments mis en cache sans les charger au préalable sur le client.

NCache vous permet également d'exécuter une instruction DELETE SQL qui supprime les éléments mis en cache.

SQL sur les balises, les balises nommées et les groupes

NCache vous permet d'inclure des balises, des balises nommées et des noms de groupe dans vos critères de recherche SQL.

Requêtes LINQ (.NET)

NCache vous permet de rechercher dans le cache avec des requêtes LINQ à partir d'applications .NET. LINQ est un langage d'interrogation d'objets populaire dans .NET et NCache a implémenté un fournisseur LINQ.

Ainsi, si vous êtes à l'aise avec LINQ, vous pouvez effectuer une recherche dans le cache de la même manière qu'avec NCache SQL.

 

Lecture, écriture, cache Loader/Refresher

De nombreuses personnes utilisent le magasin distribué en mémoire comme « cache latéral » où ils récupèrent les données directement de la base de données et les placent dans le cache. Une autre approche est le « cache through » où votre application demande simplement les données au cache. Et si les données ne sont pas là, le magasin distribué en mémoire les récupère à partir de votre source de données.

La même chose vaut pour l’écriture directe. L'écriture différée n'est rien de plus qu'une écriture immédiate dans laquelle le cache est immédiatement mis à jour et le contrôle est renvoyé à l'application client. De plus, la base de données ou la source de données est mise à jour de manière asynchrone afin que l'application n'ait pas à l'attendre.

NCache fournit des fonctionnalités puissantes dans ce domaine.

Zone de fonctionnalités NCache
Lire à travers

NCache vous permet d'implémenter plusieurs gestionnaires de lecture et de vous inscrire auprès du cache en tant que « fournisseurs nommés ». Le client peut alors dire NCache pour utiliser une lecture spécifique en cas de "manque de cache".

NCache vous permet également d'ajouter des gestionnaires de lecture au moment de l'exécution sans arrêter le cache.

Écriture directe, écriture derrière

NCache vous permet d'implémenter plusieurs gestionnaires d'écriture immédiate et de vous enregistrer auprès de NCache en tant que « fournisseurs désignés ». Ensuite, chaque fois que l'application met à jour un élément mis en cache et indique NCache pour appeler également l'écriture immédiate, NCache serveur appelle votre gestionnaire d'écriture immédiate.

Si vous avez activé l'écriture différée, alors NCache met à jour le cache immédiatement et met en file d'attente la mise à jour de la base de données, et un thread en arrière-plan le traite et appelle votre gestionnaire d'écriture directe.

Rechargement automatique à l'expiration et synchronisation de la base de données (lecture)

Si vous avez implémenté un gestionnaire de lecture, NCache vous permet de l'utiliser pour spécifier que chaque fois qu'un élément mis en cache expire, au lieu de le supprimer du cache, NCache doit appeler votre gestionnaire de lecture pour lire une nouvelle copie de cet objet et mettre à jour le cache avec.

Vous pouvez spécifier la même chose lorsque la synchronisation de la base de données est activée, qu'une ligne de la base de données est mise à jour et qu'un élément mis en cache correspondant aurait été supprimé du cache mais est maintenant rechargé à l'aide de votre lecture.

Chargeur

NCache vous permet d'implémenter un chargeur et de l'enregistrer auprès du cluster de cache. NCache puis l'appelle pour préremplir le cache au démarrage.

Cache Loader est votre code qui lit les données de votre source de données/base de données et remplit le cache au démarrage.

Refresher

NCache vous permet d'implémenter un Refresher qui vous permet de synchroniser votre base de données avec le cache à intervalles réguliers. Ce processus s'exécute en arrière-plan et n'affecte pas les performances de l'application.

 

Synchronisation avec les sources de données

La synchronisation des bases de données est une fonctionnalité très importante pour tout bon magasin distribué en mémoire. Étant donné que la plupart des données mises en cache proviennent d'une base de données relationnelle, il existe toujours des situations dans lesquelles d'autres applications ou utilisateurs peuvent modifier les données et rendre les données mises en cache obsolètes.

Pour gérer ces situations, un bon magasin distribué en mémoire devrait vous permettre de spécifier des dépendances entre les éléments mis en cache et les données de la base de données. Ensuite, chaque fois que ces données dans la base de données changent, le cache en prend conscience et invalide ses données ou recharge une nouvelle copie.

De plus, un bon cache devrait vous permettre de synchroniser le cache avec des sources de données non relationnelles, car la vie réelle regorge également de ces situations.

NCache fournit une fonctionnalité de synchronisation de base de données très puissante.

Zone de fonctionnalités NCache
Dépendance SQL
(SQL Server)

NCache fournit la prise en charge de SqlDependency pour SQL Server. Vous pouvez associer un élément mis en cache à un ensemble de données basé sur une instruction SQL dans la base de données SQL Server. Ensuite, chaque fois que cet ensemble de données change (ajout, mise à jour ou suppression), MS SQL envoie une notification de données à NCache ainsi que NCache invalide cet élément mis en cache ou le recharge si vous l'avez activé avec ReadThrough.

Cette fonctionnalité vous permet de synchroniser le cache avec la base de données SQL Server. Si vous vous trouvez dans une situation où certaines applications ou certains utilisateurs mettent directement à jour des données dans la base de données, vous pouvez activer cette fonctionnalité pour vous assurer que le cache reste à jour.

Dépendance Oracle (Oracle)

NCache fournit la prise en charge d'OracleDependency pour Oracle. Vous pouvez associer un élément mis en cache à un ensemble de données basé sur une instruction SQL dans la base de données Oracle. Ensuite, chaque fois que cet ensemble de données change (ajout, mise à jour ou suppression), Oracle envoie une notification de données à NCache ainsi que NCache invalide cet élément mis en cache ou le recharge si vous l'avez activé avec ReadThrough.

Cette fonctionnalité vous permet de synchroniser le cache avec la base de données Oracle. Si vous rencontrez une situation dans laquelle certaines applications ou utilisateurs mettent directement à jour les données dans la base de données, vous pouvez activer cette fonctionnalité pour garantir que le cache reste à jour.

Dépendance de la base de données (toute base de données)

NCache vous permet de synchroniser le cache avec n'importe quelle base de données OLEDB. Cette synchronisation est basée sur une interrogation. Et même si ce n’est pas aussi en temps réel qu’une notification dans une base de données, c’est plus efficace.

C'est plus efficace car, dans un sondage, NCache peut synchroniser des milliers d'éléments mis en cache au lieu de recevoir des milliers de notifications de bases de données individuelles d'Oracle dans le cas d'OracleDependency.

Dépendance de fichier

NCache permet de spécifier une dépendance à un fichier externe. Puis NCache surveille ce fichier pour toute mise à jour et lorsque cela se produit, NCache invalide l'élément mis en cache correspondant.

Cela vous permet de garder l'élément mis en cache synchronisé avec une source de données non relationnelle.

Dépendance personnalisée
(Toutes sources)

NCache vous permet d'implémenter une dépendance personnalisée et d'enregistrer votre code auprès du cluster de cache. Puis, NCache appelle votre code pour surveiller certaines sources de données personnalisées pour détecter toute modification.

Lorsque des modifications se produisent, vous déclenchez une mise à jour des dépendances dans NCache ce qui entraîne la suppression de l'élément en cache correspondant du cache.

Cette fonctionnalité est utile lorsque vous devez synchroniser l'élément mis en cache avec une source de données non relationnelle qui ne peut pas être capturée par un fichier plat. Ainsi, la dépendance personnalisée gère ce cas.

 

Gestion des relations de données

Étant donné que la plupart des données mises en cache proviennent de bases de données relationnelles, elles ont des relations entre divers éléments de données. Ainsi, un bon cache devrait vous permettre de spécifier ces relations dans le cache, puis de conserver l'intégrité des données. Il devrait vous permettre de gérer automatiquement les relations de données un à un, un à plusieurs et plusieurs à plusieurs dans le cache sans surcharger votre application avec cette tâche.

Zone de fonctionnalités NCache
Dépendance du cache basée sur les clés

Vous pouvez spécifier que l'élément mis en cache A dépend de l'élément mis en cache B qui dépend ensuite de l'élément mis en cache C.

Ensuite, si C est mis à jour ou supprimé, B est automatiquement supprimé du cache, ce qui déclenche également la suppression de A du cache. Et tout cela est fait automatiquement par le cache.

Avec cette fonctionnalité, vous pouvez suivre les relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs dans le cache et invalider les éléments mis en cache si leurs éléments associés sont mis à jour ou supprimés.

Dépendance multi-cache basée sur des clés

Il s'agit d'une extension de Key Based Cache Dependency, sauf qu'elle vous permet de créer cette dépendance sur plusieurs caches.

 

Événements et requête continue

Zone de fonctionnalités NCache
Événements au niveau de l'objet
( onInsérer / onRemove )

NCache peut envoyer des événements à ses clients, chaque fois que des éléments spécifiques mis en cache sont mis à jour ou supprimés en fonction de l'intérêt du client.

Vous pouvez enregistrer les rappels Java et .NET avec NCache client et vos rappels sont appelés dans ces cas.

NCache utilise son propre protocole au niveau du socket pour la propagation de cet événement, il est donc ultra-rapide.

Événements au niveau du cache
(Ajouter/Insérer/Supprimer)

S'il est allumé, NCache envoie des notifications d'événements à tous les clients chaque fois qu'un élément est ajouté, mis à jour ou supprimé du cache.

Vous pouvez enregistrer les rappels Java et .NET avec NCache client et vos rappels sont appelés dans ces cas.

Requête continue

NCache fournit une puissante fonctionnalité de requête continue (CQ). CQ vous permet de spécifier une requête SQL sur laquelle NCache surveille le cache pour tout ajout, mise à jour ou suppression. Et, votre application est avertie chaque fois que cela se produit.

Considérez cette fonctionnalité comme étant équivalente à OracleDependency mais par rapport au cache et non à la base de données.

 

Messagerie Pub/Sub (style Kafka)

Zone de fonctionnalités NCache
Sujet

NCache permet à vos applications d'effectuer des messages de style Pub/Sub de style Kafka via Topic.

Queue

NCache permet à vos applications d'effectuer des messages de style Pub/Sub de style Kafka via Queue.

Abonnements durables

L'abonnement durable permet aux clients qui se déconnectent de NCache pour quelque raison que ce soit pour ne pas perdre leurs messages. Lorsqu'ils se reconnectent, ils voient tous les messages envoyés alors qu'ils étaient déconnectés.

Persistance des messages

NCache vous permet de conserver tous les messages dans sa messagerie Pub/Sub.

Partitionnement de sujets

NCache vous permet de mapper un sujet sur une ou plusieurs partitions (style Kafka). Alors, NCache garantit qu'au sein de chaque partition, tous les messages publiés sur ce sujet sont toujours classés afin qu'ils puissent être consommés de la même manière. Ceci est très similaire au comportement de Kafka.

Séquençage des messages

Une fois que vous avez mappé un sujet à une partition, alors, NCache garantit qu'au sein de chaque partition, tous les messages publiés sur ce sujet sont toujours séquencés afin qu'ils puissent être consommés de la même manière. Ceci est très similaire au comportement de Kafka.

Garantie de livraison des messages

NCache vous permet de choisir une option de remise du message, dans laquelle il peut garantir que le message restera dans le sujet Pub/Sub jusqu'à ce qu'il soit remis comme vous le souhaitez.

Gestion des schémas

NCache vous permet de gérer les schémas dans sa messagerie Pub/Sub (style Kafka).

Flux en temps réel
(à la manière de Kafka)

NCache a pris les flux Kafka Open Source et a mis en œuvre un NCache Fournisseur de messagerie Pub/Sub pour cela. Cela signifie que vous pouvez utiliser les populaires Kafka Streams (.NET et Java) contre NCache ce qui est beaucoup plus rapide que Kafka car il s'agit d'un magasin distribué en mémoire.

Recherche de texte intégral

Zone de fonctionnalités NCache
Recherche de texte intégral
(API Lucène)

NCache fournit une recherche de texte intégral via la norme industrielle Lucene. NCache a implémenté Lucene dans son magasin distribué en mémoire afin qu'il soit ultra-rapide et évolutif de manière linéaire.

Application du schéma

NCache fournit Scheme Enforcement dans sa recherche de texte intégral avec la norme industrielle Lucene. De cette façon, vous pouvez vous assurer que tous les documents indexés adhèrent à un schéma.

Migration d'index

NCache fournit la migration d'index dans sa recherche de texte intégral avec la norme industrielle Lucene. De cette façon, vous pouvez accéder à vos index Lucene existants NCache Recherche en texte intégral.

Ingestion de données

NCache fournit l'ingestion de données dans sa recherche de texte intégral avec la norme industrielle Lucene. De cette façon, vous pouvez facilement injecter un grand nombre de données provenant de vos sources de données existantes dans NCache Index de recherche en texte intégral.

 

Traitement et analyse de données volumineuses

Zone de fonctionnalités NCache
Requête Map-Reduce

NCache fournit un framework MapReduce dans lequel votre programme peut s'exécuter sur des serveurs de cache pour le traitement parallèle du Big Data.

Agrégateurs

NCache fournit un agrégateur qui fonctionne avec le framework MapReduce et vous fournit des données statistiques.

Processeur d'entrée

NCache prend entièrement en charge l’exécution du processeur d’entrée sur les nœuds de cache en parallèle.

 

Gestion de la taille du cache (politiques d'expulsion)

Zone de fonctionnalités NCache
Taille maximale du cache (en Mo) Appareils
Expulsions LRU
(Le moins récemment utilisé)
Appareils
Expulsions LFU
(Le moins fréquemment utilisé)
Appareils
Expulsions prioritaires

NCache vous permet également de spécifier une priorité « Ne pas expulser » pour certains éléments mis en cache, afin qu'ils ne soient pas expulsés.

Option Ne pas expulser

NCache vous permet de spécifier l’option « ne pas expulser » pour l’ensemble du cache. Ensuite, rien n'est expulsé même lorsque le cache est plein. Au lieu de cela, les applications clientes reçoivent une erreur indiquant que le cache est plein lorsqu'elles tentent d'ajouter des données au cache.

S'il vous plaît lire plus sur NCache mais aussi download une clé d'installation gratuite de 30 jours pour NCache.

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.