NCache est une solution multiplateforme native unique. Il fournit une expérience .NET native ainsi qu'une expérience Java native pour les applications .NET et Java respectivement. NCache est capable de le faire car il dispose d'une édition .NET et d'une édition Java distinctes. Chaque édition contient une prise en charge entièrement native (côté client et côté serveur) pour sa plate-forme linguistique respective. Les deux éditions offrent exactement les mêmes fonctionnalités, mais dans leurs propres plates-formes linguistiques natives.
Tous les NCache les clients (.NET, Java, Node.js et Python) peuvent se connecter de manière transparente aux éditions .NET et Java.
Solution native .NET
Autres clients : Java, Node.js, Python
Plateformes
Solution Java native
Autres clients : .NET, Node.js, Python
Plateformes
NCache L'architecture est telle que tout le code côté serveur de .NET Edition s'exécute dans son propre processus .NET CLR natif distinct. Le « Processus hôte de cache » sur le NCache Le serveur (celui hébergeant les données mises en cache) s'exécute également dans un processus distinct et communique avec ce processus CLR de code côté serveur via un RPC local en mémoire extrêmement rapide utilisant NCache Tampon de protocole personnalisé.
Ce code côté serveur comprend la lecture directe, l'écriture directe, l'écriture différée, le chargeur, le rafraîchissement et le processeur d'entrée.
NCache L'architecture est telle que tout le code côté serveur de Java Edition s'exécute dans son propre processus JVM Java natif distinct. Le « Processus hôte de cache » sur le NCache Le serveur (celui hébergeant les données mises en cache) s'exécute également dans un processus distinct et communique avec ce processus JVM de code côté serveur via un RPC local en mémoire extrêmement rapide utilisant NCache Tampon de protocole personnalisé.
Ce code côté serveur comprend la lecture directe, l'écriture directe, l'écriture différée, le chargeur, le rafraîchissement et le processeur d'entrée (à venir).
NCache Le client .NET est capable de communiquer avec les serveurs .NET Edition et Java Edition. Ce client .NET ouvre une connexion socket avec le NCache serveurs et parle directement au NCache serveurs en effectuant des appels RPC qui utilisent le NCache Tampon de protocole personnalisé. Toutes les données échangées entre le client .NET et NCache Les serveurs sont sérialisés sous forme de tableau d'octets binaires ou de JSON.
Le client .NET est développé nativement en C# en tant que client multithread et fonctionne à la fois sous Windows et Linux.
NCache Le client Java est également capable de communiquer avec les serveurs Java Edition et .NET Edition. Ce client Java ouvre une connexion socket avec le NCache serveurs et parle directement au NCache serveurs en effectuant des appels RPC qui utilisent le NCache Tampon de protocole personnalisé. Toutes les données échangées entre le client Java et NCache Les serveurs sont sérialisés sous forme de tableau d'octets binaires ou de JSON.
Le client Java est développé nativement en Java en tant que client multithread et fonctionne à la fois sous Linux et Windows.
Les clients Node.js et Python utilisent le client Java ci-dessous et s'appuient sur lui pour se connecter et parler. NCache les serveurs.
Les clients Node.js et Python fonctionnent à la fois sous Linux et Windows.