Introduction à la NCache

NCache est un cache distribué en mémoire open source pour les applications basées sur .NET et Java. NCache vous aide à atteindre des vitesses transactionnelles extrêmement rapides pour vos applications critiques avec une facilité d'évolutivité linéaire.

Datastore distribué en mémoire

NCache est une banque de données open source extrêmement rapide et évolutive en raison de sa nature en mémoire et de son architecture distribuée. C'est le seul 100% .NET / .NET Core sur le marché car d'autres solutions sont basées sur C++ et Linux, ce qui la rend très bien adaptée à la pile .NET de vos applications. C'est la solution de mise en cache préférée de la communauté des développeurs .NET, ce qui en fait un leader du marché .NET depuis 15 ans.

Quelles applications .NET ont besoin NCache?

Vous bénéficierez très probablement de l'utilisation NCache si votre candidature appartient à l'une des catégories suivantes :

  • Applications Web (ASP.NET/ASP.NET Core)
  • Applications de services Web (.NET)
  • Applications de micro-services (.NET)
  • Autres applications serveur (.NET)

Pourquoi avez-vous besoin NCache?

Gestion des charges de transaction extrêmes : Votre application doit traiter des quantités extrêmes de transactions pendant les heures de pointe. NCache vous permet de gérer toute cette charge transactionnelle sans aucun temps d'arrêt.

Sites Web destinés aux clients : Les commerces de détail effectuant la plupart des transactions principalement via un site Web orienté client ou une boutique en ligne ou une entreprise purement de commerce électronique vendant vos produits en ligne, peuvent compter sur NCache pour une haute disponibilité. De même, NCache peuvent profiter aux principales compagnies aériennes vendant des billets et des réservations à partir du site Web ou d'un site Web de jeux ou de paris en ligne en Europe où les clients se connectent lors d'événements sportifs majeurs pour placer des paris en temps réel.

Entreprises de traitement en arrière-plan : Une entreprise qui doit traiter un grand nombre de transactions en arrière-plan, comme les banques traitant les virements des clients ou une société de cartes de crédit surveillant les transactions de vos clients pour détecter les fraudes. De même, une entreprise de logistique, surveillant un grand nombre de véhicules en temps réel ou une entreprise de services publics surveillant un grand nombre d'appareils en temps réel et analysant leur comportement, peut utiliser NCache pour assurer une mise en cache des données à sécurité intégrée.

Si vous êtes l'une de ces entreprises ou une foule d'autres entreprises similaires, vous ne pouvez pas vous permettre de ralentir votre application pendant les heures de pointe, car le coût pour votre entreprise est très élevé. Malheureusement, de nombreuses applications ralentissent car la base de données ne peut pas faire face à des charges de transactions aussi élevées et devient un goulot d'étranglement. La raison étant différente du niveau d'application où vous pouvez ajouter plus de serveurs à mesure que votre charge de transaction augmente, vous ne pouvez pas ajouter plus de serveurs à votre niveau de base de données.

NCache - La solution

La solution à ce problème consiste à utiliser NCache pour mettre en cache les données d'application et pour y stocker également toutes les données transitoires ou temporaires. Contrairement à votre base de données, NCache est distribué et vous permet de créer un niveau de mise en cache de deux serveurs ou plus et de regrouper la mémoire et le processeur de tous les serveurs de cache en une seule capacité logique. NCache vous permet ensuite d'ajouter d'autres serveurs à ce niveau de mise en cache à mesure que votre charge de transaction augmente.

NCache

En conséquence, NCache peut évoluer de manière linéaire et ne devient jamais un goulot d'étranglement des performances. En plus de cela, puisque NCache est totalement en mémoire, il est ultra-rapide. Vous pouvez utiliser NCache de trois manières différentes.

  1. Vous pouvez mettre en cache les données d'application dans NCache pour réduire vos déplacements de base de données de 80 à 90 % en vous assurant que votre base de données n'est plus un goulot d'étranglement pour les performances.
  2. Vous pouvez stocker votre ASP.NET/ASP.NET Core Séances en NCache parce qu'il est extrêmement rapide et évolutif et aussi parce qu'il réplique les sessions sur plusieurs serveurs pour une haute disponibilité
  3. Vous pouvez utiliser NCache comme une plate-forme de messagerie et d'événements Pub/Sub simple mais puissante et coordonne le travail entre plusieurs applications serveur de manière transparente.

Points forts des fonctionnalités

Voyons rapidement les fonctionnalités qui NCache propose d'assurer une évolutivité linéaire en supprimant les goulots d'étranglement des performances.

Fonctionnalité : Gardez le cache à jour

NCache a un certain nombre de façons de vous aider à garder vos données de cache aussi fraîches que possible sans que votre application ait à garder une trace de tout cela. Vous pouvez utiliser les expirations absolues et glissantes pour supprimer automatiquement les données du cache.

Fonctionnalité : Recherche SQL

Vous pouvez aussi avoir NCache se synchronise automatiquement avec la base de données SQL si des données sont modifiées dans la base de données par d'autres applications. Vous pouvez également spécifier des relations un à plusieurs et un à un des données dans le cache afin que l'intégrité des données ne soit pas violée lors de la mise à jour du cache.

Si vous mettez beaucoup de données dans le cache, alors NCache vous permet de le rechercher en fonction des attributs d'objet, des groupes, des balises et des balises nommées. Cela facilite grandement la recherche de vos données. Vous pouvez utiliser des requêtes SQL ou LINQ pour rechercher le cache et NCache crée également des index pour accélérer vos recherches.

Fonctionnalité : Code côté serveur

NCache est la seule solution dans l'espace .NET pour vous donner une capacité de code côté serveur. Vous pouvez implémenter Read-Thru pour laisser votre cache récupérer les données de votre base de données et lorsque vous combinez cela avec la fonction de chargement automatique, NCache recharge automatiquement les données lors des explorations ou lors de la synchronisation de la base de données. Vous pouvez également implémenter Write-Thru pour laisser le cache mettre à jour votre base de données pour vous.

L'écriture différée met à jour la base de données de manière asynchrone afin que votre application n'ait pas à l'attendre. Enfin, un Cache Loader pré-charge automatiquement le cache lorsque vous le démarrez.

Fonctionnalité : Cache client (vitesse InProc)

NCache est la seule solution dans .NET à fournir une fonctionnalité de cache client également appelée "Near Cache". Il vous donne une performance InProc comme si les données du cache étaient conservées dans votre processus d'application. Le cache client est un cache local de votre application mais reste synchronisé avec le niveau de mise en cache pour toutes les mises à jour par d'autres applications ou d'autres utilisateurs. Le cache client donne à votre application une amélioration significative des performances.

Vitesse InProc

Fonctionnalité : Réplication WAN du cache

Si votre application est déployée dans plusieurs centres de données, plusieurs régions Azure ou plusieurs zones de disponibilité AWS, alors NCache vous permet de répliquer le cache sur le WAN sans ralentir votre application dans l'un ou l'autre emplacement. Vous pouvez déployer NCache dans une configuration de centre de données actif-passif ou actif-actif.

Actif Passif
Actif Passif
Actif-Actif
Actif-Actif

Options de déploiement

.NET Framework Assistance

Comme tu le sais déjà, NCache est 100% .NET / .NET Core solution voyons quel type de support .NET a-t-il et voyons également différentes façons de déployer NCache. NCache fournit un client de cache avec une prise en charge complète des deux .NET Framework avec des choses comme :

  • Cadre d'entité 6.x
  • NHibernate Cache
  • Session ASP.NET
  • Afficher l'état
  • Cache de sortie
  • ASP.NET SignalR

.NET Core Assistance

Pour .NET Core, NCache prend en charge :

  • Cache de base EF
  • ASP.NET Core Session
  • Cache de réponse
  • IDistributedCache
  • ASP.NET Core Signal R

NCache Serveur (100 % .NET)

Tout comme le client de cache, NCache le serveur est également 100% .NET / .NET Core. Aucune autre solution n'a cela car les autres sont C++ ou Linux. NCache serveur prend en charge à la fois .NET et .NET Core et à travers le .NET core Edition, vous pouvez déployer NCache dans les capacités ci-dessous :

  • Serveur Windows/Nano Serveur/Linux
  • Installation sur site sous Windows et Linux
  • En tant que machine virtuelle dans le cloud Azure et AWS via leurs places de marché
  • En tant que cache géré Cloud Service Clister dans Azure et AWS via NCachepropre portail cloud de
  • Télécharger une image docker de NCache depuis le hub Docker
  • Créez votre propre image docker client de NCache via les fichiers Docker

Que faire ensuite?

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