UTILISATION NCache as AppFabric Alternative

Webinaire enregistré
Par Ron Hussain et Zack Khan

AppFabric a atteint la fin de sa vie et si vous vous demandez où aller à partir d'ici, vous devez regarder ce webinaire. Ce webinaire vous montre différentes manières de migrer vos applications .NET depuis AppFabric à NCache.

NCache est un .NET/ extrêmement rapide et évolutif.NET Core système de mise en cache distribué et il fournit un wrapper pour AppFabric qui vous permet de migrer vers NCache avec peu ou pas de changements de code dans vos applications. Ton Appfabric Les API utilisées dans vos applications commencent à fonctionner avec NCache de façon transparente. Vous pouvez également commencer à utiliser de nombreuses autres API et fonctionnalités proposées par NCache pour les fonctionnalités de mise en cache avancées qui manquent dans AppFabric.

Voici ce que couvre ce webinaire :

  • Vue d'ensemble AppFabric et ses enjeux de fin de vie
  • Constat NCache est la meilleure option et alternative à AppFabric
  • Différentes façons de migrer vers NCache
    • Grâce à un wrapper sans changement de code
    • Par voie directe NCache Appels API
    Fonctionnalités avancées de mise en cache distribuée qui NCache .
  • Exemples pratiques et démonstrations de migration

Le sujet d'aujourd'hui sera : "Comment utiliser NCache en tant que AppFabric alternative?" Le webinaire d'aujourd'hui couvrira une myriade de sujets. En particulier un aperçu de AppFabric et ses enjeux de fin de vie. ainsi que pourquoi NCache est votre meilleure alternative à AppFabric et toutes les fonctionnalités avancées de mise en cache distribuée que nous proposons, que vous pouvez utiliser à la place de ce que AppFabric utilisé pour offrir et un exemple pratique et une démonstration, de la façon dont vous pouvez migrer depuis AppFabric à NCache?

Maintenant, veuillez noter qu'il s'agit d'un webinaire en direct, donc, à tout moment, vous pouvez utiliser l'onglet des questions pour insérer des questions ou des requêtes ou des préoccupations que vous pourriez avoir et nous pourrons vous répondre. Et, enfin, à la fin du webinaire, nous aurons également une session de questions-réponses distincte. Ainsi, si quelqu'un a des questions qu'il souhaite conserver jusqu'à la fin, nous pouvons également vous répondre. D'accord, sans plus tarder, Ron, vous avez la parole.

Donc, le sujet d'aujourd'hui est très spécifique. Vous savez, ça va couvrir AppFabric problèmes de fin de vie et puisque Microsoft lui-même a recommandé que vous migriez hors de cette technologie. Donc, si vous utilisez un AppFabric application, si cela fait toujours partie de l'architecture de votre application, nous vous présenterons quelques options avec NCache migrer hors de cela et, vous savez, je vais vous montrer à quel point cette transition peut être fluide. Comme il est facile de migrer de AppFabric et pouvoir utiliser NCache tel quel et pouvoir ensuite utiliser certaines fonctionnalités étendues de NCache qui AppFabric manque complètement. Alors, AppFabric est un produit très limité. Avant, ça fonctionnait très bien, mais c'est en fin de vie, donc, ça n'est pas sauvegardé. Il n'est plus mis à jour. Il est donc grand temps que vous migriez hors de celui-ci.

Donc, aujourd'hui, nous allons couvrir tous les détails. Quelles sont les différentes options en ce qui concerne l'utilisation NCache, en tant que produit alternatif pour App Fabric et à quel point il est facile de migrer et, quels sont les avantages que vous allez obtenir, si vous commencez à utiliser NCache. Nous avons donc quelques détails techniques à couvrir.

Vue d'ensemble AppFabric

Alors, parlons-en AppFabric en général. Je suis sûr que la plupart d'entre vous savent déjà AppFabric et son architecture. S'il est utilisé dans votre environnement, vous devez avoir une expérience pratique avec AppFabric. Il s'agit d'un système de mise en cache distribuée In-Memory .NET. Il est principalement utilisé comme cache distribué gratuit, qui fait partie de Windows Server. Il est principalement utilisé pour les applications Web, les services de niveau intermédiaire et toute autre application .NET, qui nécessitent une mise en cache pour économiser les déplacements vers la base de données. Il a été publié et pris en charge par Microsoft. En 2010, la version 1.0 est sortie et la version 1.1 en 2015 et c'était la dernière version de AppFabric. L'API de mise en cache, comment vous pouvez l'utiliser AppFabric? Il s'agira principalement d'une application .NET, consommant AppFabric Data Class, puis exposer le Wrapper, vous savez, exposer les API de AppFabric à travers cette bibliothèque. Vous pouvez également utiliser certains fournisseurs, qui AppFabric l'habitude d'avoir. Fournisseur d'état de session ASP.NET et fournisseur de mise en cache de sortie ASP.NET. Donc, ce n'étaient pas des options de changement de code, que vous pourriez utiliser, si vous ne voulez pas utiliser la mise en cache des données, si vous êtes plus concentré sur la mise en cache spécifique au Web, ce sont deux fonctionnalités, qui sont disponibles sans aucune modification de code.

AppFabric Schéma d'architecture

Voici la répartition architecturale. C'est très simple, que vous avez vos serveurs de cache, qui sont appelés hôtes de cache en ce qui concerne AppFabric. Il vous permet de formuler un cluster Cache. Avec quelques limitations, il y avait un concept de règle de la majorité. Vous devez avoir au moins 3 serveurs et si l'un d'entre eux tombe en panne, vous violez la règle de la majorité. Ainsi, la haute disponibilité et la fiabilité des données peuvent être compromises et il y a également eu un concept d'hôte principal.

AppFabric Schéma d'architecture

Mais, l'idée ici est que vous avez des serveurs de cache, qui hébergent votre cache. Ils formulent un référentiel pour la mise en cache, puis votre application est capable de connecter ce référentiel de cache, sauvegardé par plusieurs serveurs et vous permet d'effectuer des opérations de mise en cache.

Il disposait auparavant d'outils d'administration de cache basés sur PowerShell. La configuration du cache et la configuration du cluster se faisaient généralement sur un emplacement de stockage, un système de fichiers ou une base de données. Donc, c'était une autre dépendance au sein de AppFabric. Donc, il y a un aperçu de la façon dont, vous savez, les serveurs d'applications activés par le cache ou les clients de cache peuvent se connecter à ce serveur de cache, vous savez, qui va réellement héberger le cache dans votre environnement.

AppFabric est déjà en fin de vie. La première annonce a eu lieu en avril 2016. Où, Microsoft a commencé à vous recommander de quitter cette technologie car elle ne sera plus prise en charge. Ils ont annoncé la fin du cycle de vie du support pour ce produit, pour ce produit en avril 2016, puis ils ont mis fin au support principal dans un délai d'un an. Donc 2017 était la fin de leur soutien général, dans la mesure où, AppFabricLe support officiel de Microsoft est concerné, puis le support étendu. Ils étendent le support depuis quelques années maintenant, mais la dernière date actuelle sera 2022.

Donc, fondamentalement, c'est le et nous nous attendons à ce que ce soit la dernière extension que Microsoft a donnée. Donc, ils vous recommandent fortement de migrer hors de cette technologie. Ce n'est pas Open Source. Donc, il n'a pas non plus de communauté pour le sauvegarder. Des ressources en ligne, pour autant que, même vous le savez, lorsque je préparais ce webinaire, j'obtenais un AppFabric la documentation d'aide hors du portail Microsoft est très difficile, lorsque vous commencez à l'utiliser.

Il est donc très difficile d'obtenir des ressources d'aide. Le soutien officiel n'est plus là. Un support étendu limité est disponible. Aucune autre correction de bogue ne sera fournie. Aucune autre amélioration ne sera ajoutée à l'ensemble de fonctionnalités. Si vous utilisez des plates-formes plus récentes, telles que, .NET Core, la compatibilité de la plate-forme, les mises à jour de sécurité n'en feront pas partie. Donc, c'est essentiellement la fin de vie. C'est un produit obsolète et c'est pourquoi Microsoft vous recommande de migrer et d'utiliser des alternatives et c'est pourquoi nous organisons également ce webinaire, afin que vous disposiez d'une option de migration facile, dans le cadre de NCache, comme option de remplacement.

Il est très risqué d'utiliser App Fabric principalement, car Microsoft, le principal fournisseur, a donné des recommandations pour migrer hors de celui-ci. Les déploiements de production sont menacés, au moment où nous parlons, en raison de l'absence de support, de corrections de bogues, d'améliorations, de compatibilité ou de mises à jour de sécurité. Tu es en train de partir. Le coût d'une panne est très élevé, car vous l'utilisez peut-être dans une application critique et si cette application utilise AppFabric et si cela passe par un problème ou qu'il tombe en panne, vous ne savez pas où aller. Cela peut donc avoir un impact sur votre entreprise et cela peut également avoir un impact sur l'expérience utilisateur globale.

Nous vous recommandons donc d'effectuer la migration. Plus précisément, lorsque vous disposez d'options de migration aussi simples qui NCache des offres. Donc, nous vous recommandons fortement de terminer ce projet en priorité et en fait, dans ce webinaire, vers la fin de ce webinaire, vous seriez entièrement équipé pour utiliser un système existant AppFabric application et je vous montrerai un guide étape par étape pour migrer à partir de cela, vous savez, émigrer AppFabric à NCache. Cette application peut être complètement, vous savez, cesser d'utiliser AppFabric et commencer à utiliser NCache et ensuite je vous montrerai à quel point c'est simple. C'est un processus en trois étapes, que je couvrirai dans ce webinaire et qui devrait vous donner une très bonne idée, comment commencer à utiliser NCache comme alternative. Des questions jusqu'à présent ?

Donc, ce n'était qu'un détail d'introduction. Quelques détails sur, comment AppFabric est venu au monde? Quels sont les problèmes et comment en sortir réellement ?

NCache comme option de migration

Alors, NCache est une option de migration. C'est un choix très naturel. NCache est un produit .NET 100% natif, qui est sur le marché depuis plus de 15 ans maintenant, avec une expérience complète du marché, avec beaucoup de traction, de nombreux déploiements personnalisés réels utilisant NCache dans leurs applications et nous avons des clients partout, dans différentes industries également.

  • Donc, premier avantage que vous obtenez en ce qui concerne la migration AppFabric à NCache est, que vous obtenez la plate-forme Windows. Alors, AppFabric est un produit basé sur Windows, NCache est également un produit Windows natif. Nous avons donc un serveur de mise en cache basé sur .NET, vous pouvez donc le déployer nativement sur Windows. Si vous utilisez AppFabric, vous utilisez peut-être des boîtiers 2012 ou 2016. Ainsi, vous pouvez utiliser le même ensemble de systèmes d'exploitation et toujours pouvoir installer NCache sur les mêmes cases. Ainsi, il n'y a pas d'exigences matérielles spécifiques ou d'exigences de système d'exploitation auxquelles vous devez répondre pour migrer vers une autre technologie. Donc, c'est très compatible avec ce que vous avez déjà dans votre environnement.
  • C'est le cache distribué .NET le plus ancien et le plus stable. Nous sommes leader du marché dans ce domaine. Nous avons une énorme clientèle, qui utilise NCache dans leurs applications .NET. Depuis, AppFabric est également basé sur l'API .NET. Donc, cela fait un choix très naturel, où vous commencez à utiliser NCache API ou utilisez notre approche wrapper, qui est une option sans changement de code et migrez hors de AppFabric et commencer à utiliser NCache. Il est entièrement pris en charge. À droite. C'est donc le point principal que nous avons soulevé dans les diapositives précédentes qui AppFabric est en fin de vie. Il n'est soutenu par aucune communauté. Ce n'est pas Open Source. Il n'y a pas de soutien officiel. Un support étendu est disponible mais cela finira par être interrompu. Donc, vous êtes à risque.
  • Avec NCache, vous obtenez un logiciel entièrement pris en charge à partir du serveur, ainsi que du point de vue du client. Si vous voyez des problèmes de performances, des problèmes de sécurité, des bogues, quoi que ce soit, de nouvelles fonctionnalités sont nécessaires, vous pouvez simplement nous contacter et nous travaillerons avec vous.
  • Il est également beaucoup plus puissant et riche en fonctionnalités.

Donc, je viens d'énumérer certains des facteurs les plus courants, vous savez, que vous devriez prendre en compte NCache comme un, comme une alternative. Principalement, en raison de la prise en charge de .NET et de Windows. Deuxièmement, il a fait ses preuves dans l'industrie ou dans les applications .NET et est entièrement pris en charge. Des options officielles d'assistance standard et 24h/7 et XNUMXj/XNUMX sont disponibles auprès de nos équipes. Et, nous parlerons des différentes fonctionnalités que vous pouvez étendre. Ainsi, vous pouvez étendre votre cas d'utilisation de mise en cache existant. Nous voyons des clients venir vers nous et ils ont un cas d'utilisation pour AppFabric mais quand ils adoptent NCache ils souhaitent étendre leur cas d'utilisation et commencer à utiliser ces fonctionnalités avancées, qui ne sont disponibles que dans NCache ainsi que AppFabric manque complètement de ces fonctionnalités. Donc, c'est un autre facteur que vous devriez considérer NCache est une option de migration.

NCache Déploiement dans les entreprises

NCache déploiement, dans une grande entreprise généralement, voici comment NCache ressemble à. Vous avez à nouveau un ensemble de serveurs, hébergeant le cluster de cache et contrairement AppFabric, vous n'avez pas besoin d'avoir une règle de majorité ou un concept d'hôte principal. Il s'agit d'un cluster de cache à architecture 100 % peer-to-peer. Il utilise le protocole de clustering basé sur TCP/IP. Vous créez un cluster de cache sur une équipe de serveurs et ceux-ci contribuent à la capacité de traitement des demandes des applications clientes qui y sont connectées. Donc, ceux-ci pourraient être votre ASP.NET ou ASP.NET Core Applications Web. C'est aussi sur une pile plus récente. .NET ou .NET Core Services Web ou .NET Core Application serveur.

Ainsi, en général, tout .NET, .NET Core ou même des applications Java, peuvent se connecter à NCache et profiter de NCache mise en cache. C'est très simple.

Vous pouvez commencer par 2 NCache Serveurs pour formuler un cluster de cache et 2 est le minimum pour obtenir des fonctionnalités de haute disponibilité et de fiabilité des données. Même un seul serveur peut fonctionner, mais je vous recommande fortement d'utiliser au moins 2 NCache Serveurs pour tirer parti de la haute disponibilité et de la fiabilité des données. Et c'est très flexible. Il vous permet de créer autant de caches que nécessaire. La taille peut augmenter, la mémoire et puis il y a beaucoup de fonctionnalités que vous obtenez dans le cadre de l'adoption de NCache.

Nous couvrons cette section de manière très détaillée dans notre NCache webinaire sur l'architecture mais ceci est plus une diapositive d'introduction ici, donc, s'il vous plaît laissez-moi savoir s'il y a des questions spécifiques concernant NCache déploiement.

NCache peut être déployé sur des serveurs dédiés séparés, où vos applications sont dans des boîtes séparées NCache est sur des boîtes séparées ou vous pouvez avoir NCache et applications sur les mêmes boîtiers également. Ainsi, l'hébergement de la boîte Windows Server NCache peut également agir comme votre boîtier client, un boîtier de serveur Web. C'est juste que votre application est déployée sur la même machine où NCache est également en cours d'exécution. Donc, c'est aussi une possibilité ou vous pouvez avoir un niveau séparé de serveurs de mise en cache et vos applications peuvent être sur des boîtes séparées. Nous sommes donc très flexibles.

Il est disponible en Microsoft Azure, ainsi qu'AWS et dans n'importe quel cloud public ou privé. Tu as juste besoin de ça .NET Framework comme prérequis pour NCache et c'est tout ce dont il a besoin. Comme je l'ai dit, c'est un produit très flexible et très facile à utiliser. Par rapport à App Fabric, ce serait une transition naturelle de AppFabric à NCache si vous envisagez de l'adopter.

Options de migration

Donc, je parlerai ensuite des options de migration et je vous montrerai des exemples pratiques pour y parvenir.

Mise en cache des données d'application

Donc, pour la mise en cache des données, bien que nous ayons discuté du fait que nous avons l'API .NET, puis que nous avons des sessions et des fonctionnalités de mise en cache de sortie avec AppFabric, donc, cela doit être votre cas d'utilisation global avec AppFabric. Si vous avez une application en direct en cours d'exécution, il y a de fortes chances que la mise en cache des données soit le cas d'utilisation le plus courant, que vous devez avoir utilisé dans vos applications, tout en utilisant App Fabric.

  • En utilisant AppFabric Wrapper

    Parlons donc de la migration d'une application à l'aide de AppFabric et vous commencez à utiliser NCache en remplacement. Donc, il y a deux options. Nous avons conçu notre wrapper, nous l'avons implémenté et sans aucun changement de code d'application. Vous n'avez pas besoin de changer de code. Vous pouvez commencer à utiliser NCache en remplacement de AppFabric. Il vous suffit d'utiliser notre NuGet et mettre à jour l'espace de nom. Donc, ce que nous avons fait, c'est que nous avons implémenté notre wrapper AppFabric API, donc, dans votre application chaque fois que vous faites AppFabric Appels d'API, dans les coulisses que l'implémentation du wrapper prend cet appel et commence à appeler NCache et c'est une option très simple et facile à utiliser, où votre application existante, que je voudrais vous montrer, comment gérer réellement. Je vais courir côte à côte et tous vos AppFabric Les API commenceraient à fonctionner avec NCache de façon transparente. Aucune modification de code n'est nécessaire. Juste une bibliothèque, un changement d'espace de nom, ferait le travail.

  • Faire directement NCache Appels API

    La deuxième option est de faire un direct NCache API appel. En cela, vous apportez des modifications au code et vous introduisez NCache L'API s'appelle vous-même. Vous pouvez commencer à remplacer AppFabric API ou vous pouvez commencer à étendre l'existant AppFabric API et commencez également à utiliser les fonctionnalités étendues.

Vous pouvez également utiliser ces deux approches côte à côte. Par exemple, ce que vous avez déjà avec AppFabric, vous pouvez utiliser notre emballage pour couvrir cette base, puis vous pouvez utiliser notre extension Caractéristiques. Fonctionnalités manquantes dans AppFabric, vous pouvez commencer à l'utiliser via nos API natives.

NCache Approche d'emballage

Donc, je vais démontrer ces deux aspects de NCache à l'aide d'un exemple d'application. Donc, c'est notre approche wrapper.

Avant de commencer, permettez-moi de configurer l'environnement et de vous montrer comment NCache est configuré et à quel point il est facile à configurer NCache environnement de grappe. Donc, pour cela, je vais me connecter à notre environnement de démonstration.

NCache Approche d'emballage

  • Télécharger NCache Emballage pour AppFarbric
  • Ajouter NCache Paquet de pépites d'emballage
    AppFabric.Wrapper.NCache
  • remplacer AppFabric Espace de noms avec NCache Wrapper
    /*Replace*/
    using Microsoft.ApplicationServer.Caching; 
    /*with */
    using Alachisoft.NCache.Data.Caching;
  • Exécuter et tester l'application

Configuration de l'environnement et création d'un cluster de cache

C'est notre outil de gestion web. Vous pouvez y accéder depuis n'importe où dans votre environnement. Il peut s'agir de vos boîtes Client, de vos boîtes Application. Cela pourrait être votre courant AppFabric Boîtes de serveur. Il vous suffit d'installer NCache sur une ou deux cases puis une fois NCache l'installation est terminée, vous pouvez démarrer le processus de gestion Web et vous pouvez configurer un cluster de cache.

Donc j'ai NCache installé sur deux boîtes ici, que j'utiliserais comme serveurs de cluster de cache. Donc, tout ce que vous avez à faire est de venir ici sur le cache en cluster. Vous pouvez d'ailleurs créer un cache clusterisé, un cache local, un cache clusterisé. Vous pouvez y accéder à partir de l'adresse IP elle-même.

Donc, vous cliquez sur Nouveau et vous pouvez ensuite le nommer, disons, démocache. Vous pouvez nommer n'importe quoi. NCache est basé sur la sérialisation binaire et JSON, vous pouvez donc choisir l'un de ces formats. Je vais aller avec Binaire et choisir Suivant.

Vous savez, avec NCache nous avons beaucoup topologies de mise en cache et je vous invite à revoir notre NCache webinaire sur l'architecture, qui couvre toutes ces topologies dans les moindres détails.

Alors, Topologie partitionnée de la réplique, si je dois vous donner un aperçu rapide de cela, il est basé sur des partitions qui sont sauvegardées. Il s'agit donc de notre topologie de partition de réplique. Chaque serveur a une partition de données où les clients sont connectés. Ainsi, les serveurs 1 et 2 hébergent les partitions actives. Les articles numéro 1, 2 sont sur le serveur 1 et les articles 3 et 4 sur le serveur 2, puis nous avons également une partition de sauvegarde où le serveur 1 a une sauvegarde sur 2 et le serveur 2 a une sauvegarde sur le serveur 1.

Topologies de mise en cache : cache partitionné et cache de réplica de partition

Ainsi, en cas de panne d'un serveur, la sauvegarde est activée et vous ne perdez aucune donnée. Ainsi, chaque serveur est sauvegardé sur d'autres serveurs dans le cluster Cache et vous pouvez avoir autant de serveurs que nécessaire, dans cette configuration et de manière similaire, nous avons d'autres topologies, que je vous recommande de consulter via notre webinaire sur l'architecture. Donc, Partitioned of Replica est ce que je vais choisir. Gardez tout simple.

Le mode de réplication entre la partition active et sa sauvegarde sur l'autre serveur peut être Synchronisé ou Asynchrone. Je vais aller avec Async parce que c'est plus rapide. La synchronisation est plus fiable, mais Async est également assez rapide.

Et, ici, je vais spécifier les serveurs qui vont héberger mon cluster de cache. Donc, j'ai deux cases 107 et 108.

Voyons si ce cache, les paramètres basés sur TCP/IP, pour la communication entre Sever Nodes et Eviction peuvent être activés. Depuis, vous avez spécifié une taille de cache ici. Sur cet écran, vous spécifiez également une taille du Cache. Ainsi, vous pouvez également choisir d'effectuer une expulsion si votre cache est plein. Ainsi, dans ce cas, Cache peut supprimer certains éléments plus anciens et faire de la place pour les éléments plus récents.

Si vous utilisez NCache pour la mise en cache de session, en tant que migration depuis AppFabric à NCache, AppFabric Module de stockage de sessions pour NCache Module de magasin de sessions, nous vous recommandons de désactiver l'expulsion, car ce sont vos données utilisateur et même vos données sensibles, même si vous utilisez des API de mise en cache d'objets, vous ne pouvez activer l'expulsion que si vous pouvez vous permettre de perdre des données, si votre cache devient plein. Ainsi, vous pouvez toujours donner une taille de cache plus grande en passant, afin d'atténuer ce problème. Démarrez ce cache à la fin. Démarrage automatique de ce cache au démarrage du service. Ainsi, chaque fois que le serveur redémarre, il doit automatiquement rejoindre le cluster de cache, de sorte qu'il n'y a pas de temps d'arrêt ni de perte de données. Un cluster fonctionne pleinement, s'il a tous les membres en cours d'exécution, donc, au redémarrage, il devrait se rejoindre automatiquement. Vous ne devriez pas le faire manuellement et c'est tout.

C'est aussi simple que cela de configurer notre cluster de cache. Comme vous pouvez le voir, nous avons 107 et 108, democache est entièrement opérationnel.

Surveillance des statistiques du cache

Et maintenant je peux vous montrer quelques statistiques. Ce sont nos compteurs de performances Windows. Donc, encore une fois, c'est un choix très naturel, où nous avons un système de surveillance intégré à Windows via des moniteurs de performances Windows.

De plus, nous disposons également de notre propre outil de surveillance, qui utilise les compteurs de performances Windows, ainsi que certains paramètres de surveillance, dans le NCache application. Par exemple, un certain nombre de connexions client, certaines utilisations, certaines statistiques dans l'hôte de cache. Ainsi, nous avons entièrement connecté le cluster, les requêtes/seconde, la microseconde moyenne/cache pour vous montrer la latence, les ajouts, les extractions, les mises à jour, les suppressions/sec Taille du cache, le graphique du processeur, le graphique de la mémoire, les données totales dans le nombre de caches, le temps CPU dépensé par NCache, la mémoire système ici, puis également les processus clients qui sont connectés.

Donc, c'est très élaboré et en plus, il a un tableau de bord client, une vue de rapport du serveur et du client, puis vous pouvez également ajouter vos propres tableaux de bord. Disons que si je crée un nouveau tableau de bord, il devrait être nommé, disons, Api Logs, je peux simplement continuer et créer, puis je peux faire glisser et déposer des compteurs à partir d'ici.

Par exemple, je peux voir les opérations de cluster, je peux voir les ajouts par seconde. Donc, je peux simplement ajouter des compteurs dont j'ai besoin, spécifiquement pour surveiller NCache Groupe. Donc, pour le moment, il n'y a pas d'application cliente en cours d'exécution, donc je vais en exécuter une rapidement et pour cela, je vais juste dire test-stress democache. Ainsi, dès que cette application s'exécute, cela prend un certain temps pour la première fois. La fenêtre PowerShell sur cette boîte est légèrement décalée, mais dès que cela fonctionnerait, voilà, cela simulerait une activité factice sur mon cache, voilà et vous pouvez voir les demandes par seconde arriver.

Si, j'apporte ceci ici, la microseconde moyenne par opération de cache est d'un peu moins de 100 microsecondes par opération et nous avons un joli mélange d'ajouts par seconde, de récupérations et de mises à jour. La taille du cache augmente, quelques mégaoctets. C'est seulement une taille d'objet d'un kilo-octet, en moyenne. Le CPU est inférieur à 5%, 4% pour le moment. La mémoire est ce que vous ajoutez et vous pouvez voir que tous les ensembles de compteurs affichent une activité ici.

Nous avons un processus client, qui est également affiché ici et si je vous montre le tableau de bord client, nous voyons également tous ces rapports.

Donc, c'était juste pour vous donner une idée de la facilité d'installation. Donc, c'est l'un des tests, donc, si vous avez déjà AppFabric Serveurs, il vous suffit de download NCache logiciel de notre site Web, installez-le sur les mêmes serveurs. Deux serveurs est le minimum requis que nous recommandons pour une haute disponibilité et la fiabilité des données. Vous pouvez également commencer avec un, juste pour les tests, mais nous vous recommandons d'utiliser au moins deux serveurs en production et une fois que vous avez fait cela, vous pouvez ensuite passer à votre application et commencer à utiliser le même cluster de cache.

Et, après l'installation, vous devez évidemment créer un cluster de cache, ce que nous venons de faire, puis vous pouvez commencer à utiliser votre application, puis accéder à votre application et commencer à utiliser NCache comme option de migration et que je vous montrerais à l'aide d'un exemple d'application.

Exécution d'un échantillon AppFabric Candidature

Donc, j'ai cet exemple d'application. En fait, c'est le même exemple d'application, avec natif AppFabric l'interface utilisateur de la console et la seconde que j'ai convertie à partir de celle-ci NCache AppFabric interface utilisateur de la console. Donc, si j'ouvre ces deux, ce sont exactement les mêmes applications mais avec de petites modifications apportées, afin de le rendre compatible avec NCache. Donc, et je vais vous guider à travers ces changements. J'en ai une copie séparée que je vais démontrer. Donc, j'ai défini cela comme un projet de démarrage, à droite et je prévois de l'exécuter et d'ailleurs avant de l'exécuter, j'ai un AppFabric Serveur opérationnel ici aussi. Nous avons donc AppFabric Serveur. Si je vous montre juste les statistiques actuelles, j'en ai, vous savez, laissez-moi simplement redémarrer cela et pendant que cela est redémarré, laissez-moi revenir ici et cela utilise un typique AppFabric, vous savez, les appels de mise en cache des données. Laissez-moi voir, si je vous montre d'ici, Program.cs.

Y a-t-il une question? Je voulais en jeter un à ta façon. Oui. L'un de nos participants a mentionné, dans la diapositive six, qu'il mentionnait que le cluster de cache s'exécute sur Windows et Linux, donc, le serveur peut-il être hébergé sur Linux et si oui, comment fonctionne la fonction de tableau de bord.

Très bonne question. C'est un outil de gestion basé sur le web, qui est implémenté en ASP.NET Core, à droite et il dispose également de tous les outils disponibles pour l'environnement Linux. Alors, si votre NCache Le serveur est hébergé sur Linux. Tout d'abord, vous pouvez toujours accéder à la gestion Web, qui ferait partie de Linux. Vous pouvez y accéder depuis n'importe quelle boîte Windows ou depuis n'importe quel navigateur de votre environnement et pour la surveillance Linux, nous n'avons pas encore de compteurs PerfMon sous Linux, c'est vrai.

La .NET Core est toujours en cours d'évolution donc, les compteurs PerfMon ne sont pas encore là. Nous avons donc donné nos compteurs personnalisés pour l'environnement Linux. Vous obtiendrez une vue presque similaire de la surveillance du serveur Linux à partir de NCache. Ainsi, la seule différence serait que ce serait une boîte Linux au lieu de Windows et vous pouvez avoir un .NET Core installation sur ces machines Linux.

Ainsi, la vue serait la même. C'est juste que nous avons choisi une route différente, pour surmonter une limite de .NET Core. Les compteurs PerfMon ne sont pas là, nous avons donc implémenté notre surveillance personnalisée pour ce cas d'utilisation particulier. J'espère que cela répond à votre question.

Alors, permettez-moi de clarifier cela et de vous montrer la statistique actuelle. Donc, c'est un 'démocache', même nom, vous pouvez même utiliser le même cache nommé avec NCache aussi bien. Vous n'avez même pas besoin de changer le nom du cache. C'est ainsi que nous avons conçu cela. Bon, alors laissez-moi juste vous montrer les statistiques de cette cache. Donc, rien pour le moment n'est dans le AppFabric grappe de cache. Donc, je vais commencer cette application.

Donc, mon objectif ici est que nous lancions une application avec AppFabric, vous montrer que cela fonctionne, puis nous migrons à partir de cela, migrez cela vers NCache et arrêter d'utiliser AppFabric et commencer à utiliser NCache. Donc, je vais lancer ça.

Très bien. Donc, c'est mon cas de test personnel, un exemple d'application, que j'ai conçu. Il passe par toutes les API, peut-être toutes les API de AppFabric. C'est pourquoi vous voyez beaucoup d'API en cours d'exécution à ce stade. Donc, je vais juste exécuter ça avec AppFabric puis exécutez le même échantillon qui aurait et il aurait également un test de notification en passant. Donc, pendant que cela se fait, permettez-moi de l'ancrer ici et d'amener celui-ci ici. En fait, permettez-moi d'ouvrir cet échantillon ici. D'accord, donc, essentiellement le même exemple d'application, mon mauvais. Très bien. Donc, c'est avec, tu sais, AppFabric et laissez-moi vous montrer que cet échantillon a fait quelques ajouts, donc, si je vous montre les statistiques. Nous avons un nombre d'articles de 48, un nombre de régions de 60, un nombre de demandes de 154.

Donc, nous avons un tas de paramètres et si je vous montre les clés dans le cache, vous pouvez voir, vous savez, certaines statistiques dans le cache. Donc, il a quelques éléments. L'un des principaux sur le, vous savez, et il n'y a qu'un seul serveur pour le moment, mais nous avons également ajouté des régions dans le cache.

Donc, c'est un exemple d'application entièrement fonctionnel et maintenant je vais exécuter le même exemple, puis je vous montrerai comment faire, comment nous avons également apporté les modifications, au fait. Donc, je vais arriver à cet échantillon, qui est une copie du premier, avec lequel nous avons couru AppFabric et fait des changements pour l'équiper de NCache. Démarrez une nouvelle instance et cela devrait s'exécuter ici. Ainsi, vous pouvez voir que le même échantillon est exécuté avec NCache et je vais vous montrer tous les changements dans un instant.

Donc, la comparaison côte à côte vous aiderait vraiment, que nous avons, ce que nous attendons de l'échantillon un de AppFabric et ce que nous obtenons de NCache va être exactement le même et n'apporterait aucune modification au code, afin d'y parvenir. Je vais vous guider à travers toutes les étapes que nous avons faites. Donc, c'est presque terminé. Alors, permettez-moi d'arriver au sommet. Il tourne toujours d'ailleurs. Donc, vous pouvez voir que le marqueur jaune est fondamentalement, c'est la tâche que nous faisons et si elle est terminée, elle vous montrera en vert et si vous voyez une erreur du côté du serveur, vous verrez, vous savez, le rouge plus foncé , plus clair à droite puis rouge plus foncé, si c'est du côté de l'analyse, du côté client. Donc, je viens de leur donner une vue codée par couleur. Ainsi, vous pouvez voir que toutes les sorties sont exactement les mêmes, y compris les codes d'erreur et toutes les exceptions qui ont pu se produire. Donc, à partir d'ici, en ajoutant une valeur de clé, en ajoutant une clé inexistante, même sortie ici. Donc, ajoutez l'élément au test, c'est aussi la même sortie, obtenez l'élément, l'élément six, vous savez, le succès sur celui-ci également, l'erreur. Ainsi, vous pouvez voir côte à côte et cela correspond exactement à NCache, droit.

Donc, vers la fin, je vous montrerais juste quelques événements. Donc, il utilise également les régions, n'est-ce pas. Ainsi, les cas d'utilisation de la région ici et vous verriez le même résultat sur NCache aussi bien. Ainsi, effacer une région, ajouter une région, supprimer un test de région, fonctionne exactement comme il est censé l'être. Donc, c'est une démonstration rapide que nous avons pu y parvenir.

Permettez-moi de vous montrer quelles sont les étapes, qui sont impliquées. Maintenant, je vais fermer ceci et en passant, vous avez toute la surveillance, que j'aurais dû montrer, mais laissez-moi juste vous montrer les étapes que nous avons effectuées. Tout ce que nous avons fait, c'est que nous avons ajouté un package NuGet et pour cela, permettez-moi de suivre cette étape par étape. Donc, ce que vous devez vraiment faire, c'est l'interface utilisateur de votre console App Fabric. Donc, il utilise AppFabric en ce moment.

Donc, la première chose que vous devez faire est d'ajouter un package NuGet. Donc, si vous allez gérer les packages NuGet, vous pouvez voir certains packages NuGet installés ou vous pouvez parcourir et voir certains voyons AppFabric NCache. Si, je clique dessus, installez ceci. Donc, c'est notre première étape.

Donc, si je reviens ici, dans l'option de migration, sans option de changement de code, la première chose que vous devez faire est d'introduire notre package NuGet qui est AppFabric.Enveloppe.NCache et puis cette prochaine étape est que vous remplacez Microsoft.ApplicationServer.Caching ; espace de noms avec le Alachisoft.NCache.Caching.des.données ; C'est l'assemblage de l'emballage et NCache prendrait en charge tous les appels à partir de ce moment-là.

NCache Approche d'emballage

  • Télécharger NCache Emballage pour AppFarbric
  • Ajouter NCache Paquet de pépites d'emballage
    AppFabric.Wrapper.NCache
  • remplacer AppFabric Espace de noms avec NCache Wrapper
    /*Replace*/
    using Microsoft.ApplicationServer.Caching; 
    /*with */
    using Alachisoft.NCache.Data.Caching;
  • Exécuter et tester l'application

Laisse-moi faire ça devant toi. Donc, c'est l'échantillon, qui est natif AppFabric échantillon. Nous avons le NuGet installé. C'est encore en train de se faire.

Petite question que je vous lance avec ça. La question était, l'obtention d'éléments par balises est-elle prise en charge par le wrapper ?

Oui. Obtenir, vous savez, le AppFabric a des régions, à droite. Donc, si vous utilisez des régions dans AppFabric, donc, nous utiliserons des balises puis des groupes pour prendre en charge cela, mais si vous souhaitez utiliser NCache balises, à droite. Donc, vous souhaitez étendre votre utilisation de la mise en cache et c'est également un sujet du webinaire, dans ce cas, vous pouvez utiliser nos API directement. Donc, utilisez le wrapper, pour prendre en charge ce que vous avez déjà à travers les régions, la balise est utilisée dans les coulisses, puis si vous souhaitez utiliser des balises spécifiquement proposées par NCache, NCache API. Ainsi, vous pouvez l'utiliser directement NCache Les API aussi. Donc, j'espère que cela répond à votre question.

Donc, je vais parcourir cela un par un, à droite, et utiliser simplement cette diapositive ici, donc, nous devons utiliser Alachisoft.NCache.Caching.des.données ; bon, donc, c'est l'idée ici. Donc, je vais passer par là, ajouter dans le cache. n'a aucune référence de AppFabric mais celui-ci a. Donc, tout ce que vous avez à faire est d'inclure cet espace de nom Alachisoft.NCache.Caching.des.données ; et c'est tout.

Ainsi, le package NuGet a ajouté un tas de ressources ici NCache, vous savez, Data.Caching qui est le wrapper, puis NCache des assemblées régulières et tout cela est ce dont vous avez besoin. Le NuGet ajoute NCache ressources client dans votre application, puis vous allez une par une, puis commencez à la remplacer.

Permettez-moi de revenir ici et de copier ceci afin que partout où vous trouverez AppFabric référence, par exemple, ici, remplacez-la par NCache et je le fais devant vous pour que vous voyiez comme c'est facile. Alors, on continue. Je suis désolé mon mauvais, en utilisant Alachisoft.NCache.Caching.des.données ; et répétons cela. Il y avait une faute de frappe, donc je pense que je m'en suis également débarrassé. Très bien. Je vais donc passer à d'autres tests. C'est bon. Effacer la région, c'est bien, créer la région, c'est bien. Ainsi, tous les tests de région n'utilisent aucune référence directe, mais nous avons ensuite des tests de balises. Donc, je publierai également cet exemple sur GitHub. Au fait, notre NuGet est déjà en ligne, avec les dernières informations sur les Service Packs, mais je publierai celui-ci dans le. Voilà, j'espère avoir tout terminé. Laissez-moi juste reconstruire ça. S'il y a des erreurs, je vais simplement m'attaquer à celles-ci. Donc, en cela, je pense. Très bien. Alors, permettez-moi de valider que j'utilise le bon wrapper.

Très bien. Donc, une fois que vous avez fait cela, laissez-moi, vous savez, je pense que j'en ai oublié quelques-uns, mais une fois que vous avez fait cela, vous devez revenir ici et ajouter vos paramètres de connexion côté client. Par exemple, dans mon cas, c'est cette boîte ici, 101, qui est ma propre boîte et la configuration doit avoir le nom du cache.

Par exemple, nous avions 'democache'. Donc, je vais juste vous montrer un test local avec mon cache local, mais vous pouvez toujours utiliser le cache distant également. Par exemple, pour cela, je peux utiliser ce cache ici. Permettez-moi d'ajouter ma boîte en tant que client, à droite, puis d'ajouter ceci, ma boîte a un nœud client, par exemple, 101 est une machine cliente.

Très bien. Donc, j'ai tous les paramètres maintenant. Donc, je peux soit utiliser la conf client.nc ou je peux simplement pointer vers 107 en tant que boîte client à partir d'ici.

À droite. Donc, c'est une chose, puis la configuration de l'application doit pointer vers le nom du cache. Donc, je n'ai pas l'intention de changer quoi que ce soit ici. Maintenant, laissez-moi exécuter cet exemple avec mon cache actuel. Il a bien construit. Après cela, je l'exécuterais simplement. Je vais juste en faire un projet de démarrage dès qu'il sera terminé. Démarrez un projet, puis exécutons-le.

Donc, c'est essentiellement un processus en trois étapes. Vous pouvez inclure notre NuGet, remplacer votre AppFabric bibliothèque, ApplicationServer.Caching avec le Alachisoft. NCache.Mise.en.cache.des.données. Reconstruisez l'application. Assurez-vous qu'il n'y a pas d'erreurs. Utilisez notre dernier package NuGet et mettez à jour client.nc conf pour pointer vers le serveur que vous venez de choisir et dans ce cas, nous avons un fichier de conf client.nc qui est ajouté en passant par le serveur. Maintenant que vous avez configuré un cluster. Pointez simplement vers ce serveur et si je reviens ici, nous avons maintenant, laissez-moi simplement surveiller cela et laissez-moi fermer l'outil de test de stress. À droite. Donc, nous devrions avoir des statistiques affichées à partir de l'application elle-même, n'est-ce pas.

Donc, en général, c'est le cycle de vie de la façon de migrer et d'utiliser notre approche wrapper.

direct et gratuit NCache Appels API

Permettez-moi de vous montrer également l'utilisation directe des appels d'API. Maintenant, la deuxième approche où il y avait aussi une question que se passe-t-il si nous utilisons NCache balises ou NCache fonctionnalités? Nous avons donc beaucoup de fonctionnalités avancées disponibles. Ainsi, vous pouvez faire directement NCache Appels d'API en plus de votre AppFabric application. Donc, pour cela, je vous recommande d'utiliser notre documentation d'aide comme guide et c'est notre API directe. Donc, tout ce que vous avez à faire est Cache ICache = CacheManager.GetCache et obtenez le handle de cache, puis commencez à utiliser NCache APIs et, pour cela, tout ce que vous avez à faire est d'utiliser notre SDK et nous avons un exemple d'application qui vous donne la possibilité d'ajouter tout cela dans n'importe quelle application à usage général que vous avez.

Jetez un œil dans NCache Apis

  • Se connecter et se déconnecter du cache
    ICache cache = CacheManager.GetCache("myDistributedCache");
    cache.Dispose();
    
  • Lire depuis le cache
    Employee employee = cache.Get<Employee>("Employee:1000"); 
    bool isPresent = cache.Contains("Employee:1000");
  • Ajouter au cache
    cache.Add("Employee:1000", employee);
    cache.AddAsync("Employee:1000", employee);
    
    cache.Insert("Employee:1000", employee);
    cache.InsertAsync("Employee:1000", employee);
  • Supprimer du cache
    Employee employee = (Employee) cache.Remove("Employee:1000");
    cache.RemoveAsync("Employee:1000");

Ainsi, même une application utilisant une approche wrapper peut étendre cette utilisation et vous commencez à utiliser NCache API à un stade ultérieur également.

Donc, si j'ouvre les échantillons et pour cela je vous montrerai NCache échantillons. Basic Operations est un exemple d'application très simple, qui fait le travail. Donc, cet exemple d'opération de base est prêt. Il a une approche très simple, un fonctionnement de base, donc, tout ce que vous avez à faire est d'ajouter Alachisoft.NCache.Client bibliothèque.

Donc, comme je l'ai dit, vous pouvez l'utiliser comme référence et partout où vous avez AppFabric, par exemple, si j'ouvre Bulk Get Tests, vous pouvez inclure cet espace de nom ici, à droite, et à l'intérieur de celui-ci, permettez-moi de le prendre sous la forme, là où nous en avons réellement besoin. Restez avec moi. Laissez-moi trouver où dois-je l'ajouter, car je ne veux rien changer dans l'échantillon. Bon, je pense que c'est juste en utilisant AppFabric test d'emballage sur le dessus. Donc, je pense que je devrais m'en tenir à cet exemple d'opération de base. À droite. Donc, c'est notre cache de classe ICache et ensuite vous pouvez utiliser Créer un nouveau client, qui est votre objet, puis vous pouvez dire Ajouter un objet au cache, qui est votre implémentation, implémentation personnalisée, mais c'est ainsi que vous utiliseriez NCache Apis.

Vous pouvez construire un élément de cache, puis vous appelez Cache.Ajouter et cela représente NCache, vous savez, les API Alachisoft Objet cache. Alors, c'est le Alachisoft.NCache.Client.ICache.

Ainsi, il renvoie un handle de cache et vous permet d'utiliser NCache API en plus. Donc, comme je l'ai mentionné, vous pouvez commencer par la migration via un wrapper, puis vous pouvez utiliser nos API étendues en plus, puis il y a beaucoup de, vous savez, des ressources de documentation disponibles, où vous pouvez voir comment AppFabric Les API ressemblent et comment NCache Apis. Donc, si vous voulez vraiment arrêter d'utiliser AppFabric et commencer à utiliser NCache API, vous pouvez commencer dès le début et ensuite utiliser cette approche, ou vous pouvez utiliser une approche côte à côte, où vous utilisez le wrapper pour une migration facile, puis étendez-le en utilisant NCache Apis.

direct et gratuit NCache Appels API

Quelques changements d'API entre NCache ainsi que AppFabric

Mise en cache ASP.NET avec NCache

Nous l'avons déjà fait. Alors Mise en cache de session ASP.NET, vous modifiez simplement le fournisseur de manière à pouvoir fournir des modifications de configuration Web pour pointer vers NCache en tant que stockage et sortie de session, vous pouvez simplement pointer vers NCache en tant que fournisseur de cache de sortie. Nous avons également des documents d'aide détaillés disponibles sur ce front. Par exemple, si vous dites NCache Mise en cache de session, il pointera vers notre fournisseur d'état de session et de même, vous pouvez également rechercher la mise en cache de sortie. Bon, c'est donc ce que vous devez modifier dans la configuration Web.

<configuration>
  ...
  <sessionState cookieless="false"
                regenerateExpiredSessionId="true"
                mode="Custom"
                customProvider="NCacheSessionProvider"
                timeout="20">
    <providers>
      <add name="NCacheSessionProvider"
          type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider"
           cacheName="demoClusteredCache"
           sessionAppId="demoApp"
           exceptionsEnabled="true"
           writeExceptionsToEventLog="false"
           enableLogs="false"
           enableSessionLocking="true"
           sessionLockingRetry="-1"
           emptySessionWhenLocked="false" />       
    </providers>

  </sessionState>
...
</configuration>

Il en va de même pour la mise en cache de sortie, qui se trouve ici. Donc, si je fournis une vue d'ensemble du fournisseur, c'est ce que vous devez ajouter dans votre application pour augmenter la mise en cache de sortie App Fabric avec NCache cache de sortie.

<!-- caching section group -->
<caching>
  <outputCache defaultProvider ="NOutputCacheProvider">
    <providers>
    <add name="NOutputCacheProvider" 
         type= "Alachisoft.NCache.OutputCacheProvider.NOutputCacheProvider, Alachisoft.NCache.OutputCacheProvider, 
         Version=x.x.x.x, Culture=neutral, PublicKeyToken=cff5926ed6a53769" 
         cacheName="demoClusteredCache" 
         exceptionsEnabled="false"enableDetailLogs="false" 
         enableLogs="true" 
         writeExceptionsToEventLog="false"/>"
    </providers>
  </outputCache>
</caching>

Et, sur le côté gauche, vous pouvez voir la liste avec NCache est énorme. Séances multi-sites sont pris en charge, afficher l'état fournisseur est pris en charge, ce qui manque dans AppFabric. Mise en cache de sortie avec des crochets personnalisés est une caractéristique unique pour NCache. De même, nous avons SignalR Backplane, ASP.NET Core Mise en cache des réponses, ASP.NET Core SignalR Backplane. Donc, cette liste est quelque chose de très long, car nous mettons activement à jour notre ensemble de fonctionnalités par rapport à AppFabric.

Réplication WAN

Et puis en général, tu sais, NCache est 100 % peer to peer architectured par rapport à AppFabric. De nombreuses topologies de mise en cache en comparaison, que vous pouvez consulter. La réplication WAN est disponible. La prise en charge de plusieurs centres de données est disponible, sur NCache, où vous avez des centres de données actifs-passifs, actifs-actifs ou 3+ actifs-actifs disponibles.

Prise en charge de plusieurs centres de données : réplication WAN

Nous avons un vaste ensemble de clients, dont nous avons déjà discuté pour le soutenir également, où NCache est activement déployé dans les environnements Windows et .NET Donc, je pense que cela conclut à peu près la session d'aujourd'hui. Faites-moi savoir s'il y a des questions.

Donc, j'ai une question ici Ron pour vous. La question est formulée dans notre AppFabric Cache Client Wrapper que nous avons. Nous fournissons tous les nœuds de cluster, les ports, les paramètres de délai d'attente, etc. via des API par rapport à app.config. Maintenant, en utilisant le wrapper, pouvons-nous fournir la même chose via des API ou des configurations ?

Oui, vous pouvez, car en général, nous avons aussi des paramètres en ligne, n'est-ce pas. Ainsi, le wrapper est conçu de telle manière qu'il vous permet de vous connecter au cache avec un minimum de modifications de code et de configuration. Donc, c'est conçu de telle manière, d'accord. C'est pourquoi je voulais donner l'impression que c'est une option très facile à migrer. Donc, nous ne vous avons montré que les changements de niveau de configuration, mais si vous êtes intéressé à fournir quoi que ce soit en ligne, nous avons des paramètres d'initialisation. Nous avons donc des paramètres d'initialisation, qui vous permettent de fournir la liste des ports Servers, Server 1, Server 2, Server 3. Donc, tous ces paramètres côté client que vous avez vus dans le cadre du client.ncconf qui, permettez-moi d'ouvrir ici. Donc, ce sont des paramètres de configuration que vous pouvez également spécifier dans le, vous savez, dans le code de l'application. Donc, c'est une possibilité.

Ainsi, l'un de nos participants demande des informations sur les performances. Tels que la bande passante.

NCache est très évolutif, il a la capacité d'équiper votre application pour atteindre, vous savez, une évolutivité linéaire à 100%, n'est-ce pas. Ainsi, vous pouvez ajouter de plus en plus de serveurs et cela augmenterait simplement la capacité de traitement des demandes. Donc, si vous voulez juste une idée à usage général, je vous recommande fortement de consulter notre benchmark. Laissez-moi vous montrer ceci. Nous avons publié nos benchmarks, avec nos et vous savez, Opérations de débit par seconde avec seulement 5 NCache Serveurs, nous avons pu atteindre 2 millions de requêtes par seconde. Bon, donc, c'est quelque chose que vous pouvez revoir et vous pouvez voir d'ici aussi, nous venons d'utiliser 5 NCache les serveurs. Il y a un démonstration vidéo de cela aussi. Donc, si vous voulez revoir cela, il y a un whitepaper et puis il y a une démonstration vidéo en direct de ce test, où nous avons commencé avec 2 serveurs, puis nous avons pu atteindre un certain débit et une capacité de traitement des demandes, puis nous avons pu augmenter le nombre de serveurs en mettant de plus en plus de charge. Avec seulement 5 clusters de nœuds, nous avons pu atteindre 2 millions d'opérations par seconde.

Donc, en ce qui concerne les ressources de serveur, si votre question est plus axée sur la bande passante ou les ressources de serveur nécessaires, il s'agissait de serveurs AWS, des serveurs assez haut de gamme, car nous voulions vraiment démontrer la capacité ou l'étendue que vous peut réaliser avec NCache. Ainsi, nous avons pu étendre les serveurs aux limites, puis nous avons pu obtenir 2 millions de requêtes par seconde. Mais vous pouvez également utiliser une configuration de type serveur Web avec jusqu'à 8 cœurs, avec une carte d'interface réseau 1 Gigabit avec des exigences de mémoire aussi bonnes que 16 Go ou plus. Donc, 8 Go, c'est bien aussi, mais 16 Go, c'est ce que nous recommandons. Donc, que vous ayez une mémoire adéquate, pour héberger vos données.

Pourquoi est- NCache une meilleure solution que Redis?

Donc, fondamentalement, si je dois donner les cinq principales raisons, c'est tout d'abord .NET par rapport à .NET non natif. Redis n'est pas très compatible avec Windows. Il a une version portée, prise en charge par Microsoft Open Tech, un tiers. Redis Laboratoires ou Redis Open Source eux-mêmes recommandent de ne pas utiliser Redis sur la plate-forme Windows. Ainsi, par rapport à AppFabric NCache est un meilleur ajustement. Principalement parce qu'il se trouve sur la même pile qu'au AppFabric & Redis n'est pas. Redis en général, est plus un produit basé sur Linux. Alors que NCache est un produit basé sur Windows, ainsi que sur Linux.

Il existe de nombreux problèmes de haute disponibilité avec Redis. Redis le cluster n'est pas 100 % peer-to-peer architectured, par rapport à NCache. NCache est un cluster de cache à architecture entièrement peer-to-peer, où vous pouvez mettre n'importe quel serveur hors ligne. Cela n'affecterait pas vos clients de cache, qui y sont connectés et cela ne vous causerait pas non plus de perte de données. Ensuite, beaucoup de fonctionnalités manquent dans Redis. Tels que le cache client n'est pas là. Ils l'ont récemment introduit, mais c'est très basique. Nous avons un cache client depuis 2008, c'est vrai. C'est donc une fonctionnalité très ancienne, qui est très améliorée dans le cadre de NCache. Bridge, code côté serveur SQL comme la recherche, la lecture, les gestionnaires d'écriture, le chargeur de cache, toutes ces fonctionnalités manquent dans Redis et j'aimerais que vous parcouriez rapidement un document de comparaison, qui est publié sur notre page de comparaison. Donc vous pouvez voir Azure Redis vs NCache, Redis vs NCache différences récapitulatives, Redis vs NCache (Jeu de diapositives) et puis il y a quelques informations générales sur NCache.

Alors, laissez-moi vous montrer cela très rapidement et faites-moi savoir s'il y a des questions. Je suis inscrit sur ce site, alors laissez-moi me connecter. Bien sûr. Une question de suivi à ce sujet est une question sur la réplication asynchrone.

Peuvent-ils supposer que le comportement des réplications asynchrones est sûr ? Est-ce une garantie ?

C'est, c'est…., alors, vous savez. S'il échoue entre les deux, ce qui est un scénario très rare, vous pouvez perdre cette mise à jour, mais c'est assez rapide. Nous avons un fil dédié. Permettez-moi de vous montrer le diagramme, puis de revenir à la première question. Alors, abordons d'abord cette question. Donc, partition active du serveur 1, dès que votre application ajoute quelque chose ici, elle retourne NCache est responsable de sa mise à jour dans la sauvegarde et là, vous avez des options asynchrones et de synchronisation.

Topologies de mise en cache : cache partitionné et partition-réplica

Donc, asynchrone, c'est assez rapide. C'est en moins d'une milliseconde et je serais très heureux si vous pouviez reproduire un scénario dans lequel un appel est déclenché sur le serveur 1 et pendant la réplication, ce serveur tombe en panne et vous ne pouvez plus obtenir la mise à jour. C'est un scénario très rare dans NCache. Même nos équipes d'assurance qualité travaillent très dur pour reproduire cela et elles ne sont pas en mesure de le faire. Ainsi, avec un léger retard inférieur à la milliseconde, le thread dédié met à jour la sauvegarde et pendant que ce serveur tombe en panne, il y a une légère possibilité que vous perdiez la mise à jour, mais comme je l'ai dit, c'est un scénario très rare à reproduire et nous avons l'option de synchronisation également disponible pour s'adapter à cette situation. Si vous craignez que les sauvegardes soient mises à jour en permanence, vous pouvez utiliser les mises à jour de synchronisation, où un client met à jour l'actif et la sauvegarde en une seule fois. C'est une opération transactionnelle. S'il échoue entre les deux, il annulera toute l'opération. Donc, c'est très sûr, si votre question est axée sur cela.

Revenant donc à Redis, C'est Azure Redis vs NCache. Ainsi, vous pouvez voir la comparaison au niveau des fonctionnalités et vous pouvez voir la liste où Azure Redis ont un rôle partiel, un soutien limité sur tous ces fronts. Ainsi, la haute disponibilité est partiellement prise en charge, les topologies de cache sont limitées, Réplication WAN est très limité, Mise en cache ASP.NET fonctionnalités, mise en cache d'objets fonctionnalités, synchronisation les fonctionnalités manquent complètement dans Redis et si vous utilisez NCache pour la mise en cache d'objets, il est très logique de disposer de ces fonctionnalités de synchronisation.

SQL comme la recherche est manquant, regroupement de données est manquant, le code côté serveur est complètement manquant et ce n'est même pas .NET car le Redis n'est pas écrit en .NET. Alors, la liste continue.

La question est : Alors, je sais NCache est natif de Windows et comparé à Linux Redis est mieux, cependant, comment NCache sur Linux comparer à Redis sous Linux ?

Même ensemble de fonctionnalités, même support, pris en charge via .NET Core est disponible sur Linux. Alors, NCache est, ce n'est pas seulement un produit Windows, par rapport à Redis. Où Redis est principalement un produit orienté Linux. NCache est Windows et Linux. Ainsi, quel que soit l'ensemble de fonctionnalités que vous voyez ici, il est entièrement pris en charge sur l'environnement Linux. Tous les .NET Core versions sur Windows, tous Linux sont à égalité les uns avec les autres. Nous avons notre surveillance personnalisée, pour répondre au problème de compteur PerfMon de Linux, mais à part cela, toutes les fonctionnalités que vous voyez, cette comparaison est à peu près valable, tout est également valable pour l'environnement Linux. Je suis plus concentré sur Windows, car Redis en général manque complètement, vous savez, de support Windows. Mais, dans la mesure où, NCache est concerné, notre offre Windows et notre offre Linux sont exactement les mêmes. Donc, toutes les fonctionnalités dont nous avons discuté, débattu NCache est également un gagnant clair dans l'environnement Linux et, en fait, avec les nouveaux déploiements, avec plus de clients adoptant .NET Core dans leurs applications, ils préfèrent utiliser NCache sur les environnements Linux. Parce que c'est plus, vous savez, compatible et plus facile à utiliser, du point de vue des licences, du point de vue de l'Open Source, Linux est plutôt plus facile en comparaison. Donc notre NCache serveurs, assis sur des serveurs Linux, via .NET Core est une pratique très courante de nos jours.

Avons-nous le support Docker ?

Oui, bien sûr. Comment pouvons-nous ne pas avoir Prise en charge de Docker avec NCache. Si vous allez sur notre page de téléchargement, vous trouverez une section sur Docker. Nous avons .NET Core Images Docker, qui sont disponibles sur Linux, puis nous avons .NET Framework Windows, puis nous avons également des fichiers Docker disponibles pour les deux. Ainsi, pour Enterprise, Professional, Open Source, vous pouvez utiliser notre, d'ailleurs, nous avons intentionnellement gardé .NET Core Images uniquement pour Linux car c'est la plus courante et en fait, vous pouvez utiliser notre Images Docker également sur toutes les plates-formes Kubernetes. Comme OpenShift tels que Service Azure Kubernetes, Service Elastic Kubernetes également proposé par AWS et Google Kubernetes Service. Donc, c'est très courant. Il est très populaire dans le déploiement d'applications. Donc, c'est quelque chose que vous pouvez télécharger directement depuis notre site Web ou aller sur le Docker Hub d'ailleurs.

Veuillez confirmer, si cela répond à votre question. Faites-moi savoir s'il y a d'autres questions. D'autres? Même si vous ne pouvez pas poser toutes vos questions maintenant, nous en recevons déjà beaucoup, mais vous êtes toujours libre d'envoyer un e-mail support@alachisoft.com. Si vous avez des questions techniques ou des questions sur les fonctionnalités, envoyez un e-mail support@alachisoft.com. Notre équipe d'assistance répondra à toutes vos questions, à toutes vos réflexions, à vos questions sur les cas d'utilisation, etc.

Et, si vous êtes intéressé à obtenir NCache commencé, eh bien nous avons deux mois gratuits NCache Enterprise essai gratuit disponible pour téléchargement et utilisation dans votre environnement et si vous le souhaitez, vous pouvez nous contacter soit à support@alachisoft.com or sales@alachisoft.com. Nous vous aiderons à les configurer et nous ferons également savoir sur quels cas d'utilisation vous travaillez ? Quelles fonctionnalités vous intéressent ? Nous ferons en sorte que vous obteniez une satisfaction sur le plan technique, absolument.

Nous avions également une question à venir, pouvons-nous obtenir les diapositives de la présentation ?

Bien sûr, non seulement cet enregistrement de webinaire va sortir, alors attendez-vous à cela dans votre e-mail, mais nous pouvons également vous envoyer les diapositives, en particulier. Si vous voulez ou si quelqu'un d'autre veut les diapositives, allez-y et demandez-les maintenant. Je vais m'assurer que tout le monde reçoive les diapositives.

S'il n'y a plus de questions, n'oubliez pas que vous pouvez nous contacter à tout moment. Télécharger NCache Enterprise, si vous ne l'avez pas déjà et définitivement joué avec. Si vous avez besoin d'aide pour l'installer dans votre environnement, n'hésitez pas à nous contacter.

Que faire ensuite?

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