Multilocation dans Redis Enterprise |  Redis

Multilocation dans Redis Enterprise | Redis

Le logiciel multi-locataire est conçu pour héberger plusieurs locataires partageant la même infrastructure. Amazon Web Services, Microsoft Azure, SalesForce, etc. sont des exemples populaires de multi-location. Cloud d’entreprise Redisoffert par Redisest également un service multi-tenant avec plus de 500 000 bases de données Redis partageant la plateforme Redis Cloud.

Entreprise Redis vous permet de créer un tel environnement multi-tenant sur site ou dans n’importe quelle infrastructure que vous contrôlez. Mais pourquoi auriez-vous besoin d’un tel environnement ?

Si votre organisation développe une série d’applications et de microservices internes, un environnement mutualisé peut vous faire gagner du temps et de l’argent. Les cycles de vie des applications incluent généralement le développement, les tests et la mise en place avant le déploiement en production. Pour une mise sur le marché rapide, vous avez besoin d’une solution qui accompagnera rapidement votre application tout au long du développement, des tests, de la mise en place et de la production. Une architecture multi-locataire élimine la configuration d’une nouvelle infrastructure physique pour votre logiciel et l’installation de nouveaux logiciels de support (une base de données par exemple) dans votre environnement de développement, de test et de production. Il vous permet d’exécuter plusieurs efforts de développement et cycles de test en parallèle avec peu d’effort.

Multilocation pour votre base de données Redis

  1. Redis dans un déploiement multi-instance

Une architecture multi-tenant est différente d’une architecture multi-instance. Dans ce dernier cas, vous installez une nouvelle instance du logiciel pour chaque locataire. L’image ci-dessous illustre un exemple d’architecture multi-instance pour Redis. Dans ce type de scénario, vous générez une nouvelle instance Redis pour chaque locataire. À mesure que le nombre de vos locataires augmente, la complexité du déploiement, de la surveillance, de la maintenance et de la mise à niveau de plusieurs instances logicielles augmente de façon exponentielle.

Multi tenancy 1

  1. Multi-tenant réalisé grâce à la virtualisation/conteneurisation

Dans ce cas, vous déployez Redis en tant que conteneur ou dispositif virtuel et autorisez la solution de gestion sous-jacente à générer une nouvelle instance Redis. La multilocation est réalisée au niveau de la couche serveur/infrastructure. À bien des égards, cette technique de réalisation de la multilocation n’est pas très différente de la configuration multi-instance. Alors que la couche de gestion réduit la complexité du provisionnement et du démarrage d’un nouveau service Redis, vous avez toujours le même nombre de services Redis à surveiller et à gérer. En règle générale, les fournisseurs tiers Redis-as-a-Service tels qu’Elasticache, Azure Redis, Google Redis et Heroku Redis suivent cette méthode. Ces solutions sont facturées par instance Redis. Les effets des économies d’échelle et de gamme profitent à ces fournisseurs de services plus qu’à vous.

Multi tenancy 2

  1. Multilocation dans Redis Enterprise

Redis Enterprise offre des logiciels mutualisés dans lesquels un déploiement unique du logiciel Redis Enterprise (souvent déployé en tant que cluster de nœuds) dessert des centaines de locataires. Chaque locataire a son propre point de terminaison de base de données Redis qui est complètement isolé des autres bases de données Redis.

Multi tenancy 3

Lorsque vous déployez Redis Enterprise dans votre centre de données, cloud privé ou cloud privé virtuel, tu bénéficier des économies d’échelle de l’architecture multi-locataires. Avec un seul cluster Redis Enterprise de quelques nœuds, vous pouvez prendre en charge vos efforts de développement et de test, puis les mettre en production.

Fonctionnement de l’architecture multi-tenant de Redis Enterprise

Architecture d’entreprise Redis implémente plusieurs couches d’abstraction pour fournir une multi-location, une haute disponibilité, une mise à l’échelle linéaire, un débit élevé, etc. L’architecture Redis Enterprise comprend les composants suivants :

  1. Tesson: Un fragment est une instance Redis open source. Redis, étant un processus à thread unique, s’exécute sur un cœur de processeur. Vous pouvez optimiser votre débit en exécutant un fragment sur chaque cœur de processeur.
  2. Base de données: Une base de données est le point de terminaison logique qui contient les données d’un locataire. Vous pouvez attribuer plusieurs partitions à une base de données pour répondre à toutes les exigences de taille d’ensemble de données ou de débit. Vous pouvez activer la persistance, la réplication, la politique d’éviction et le flash en tant qu’extension de RAM au niveau de la base de données. Vous pouvez également configurer votre base de données pour une haute disponibilité (comme illustré dans l’image ci-dessous). Redis Enterprise attachera vos bases de données primaire et secondaire à différents nœuds. Une base de données peut être de l’un des types suivants :
    1. Une base de données simple, c’est-à-dire un seul fragment maître
    2. Une base de données hautement disponible (HA), c’est-à-dire une paire de fragments primaires (maîtres) et secondaires (esclaves)
    3. Une base de données en cluster, qui contient plusieurs partitions principales, chacune gérant un sous-ensemble de l’ensemble de données (ou en termes Redis, une plage différente de « hash-slots »)
    4. Une base de données en cluster HA, c’est-à-dire plusieurs paires de fragments maître/esclaveMulti tenancy 4
  3. Nœud: Un nœud est un serveur physique, une machine virtuelle, un conteneur ou une instance cloud sur lequel le logiciel Redis Enterprise est installé. À tout moment, un nœud peut inclure entre zéro et quelques centaines de bases de données Redis.
  4. Proxy zéro latence : Chaque nœud du cluster comprend un proxy multithread sans latence qui transfère les opérations Redis aux fragments de base de données au nom d’un client Redis. Dans un environnement multi-tenant, le proxy s’assure que les demandes des clients sont dirigées vers la bonne partition d’une base de données.

Vous pouvez déployer plusieurs bases de données dans un cluster Redis Enterprise ; vous n’êtes limité que par la taille totale de la mémoire. Chaque point de terminaison de base de données a un nom de domaine complet. Les proxys à latence zéro sur tous les nœuds d’un cluster peuvent rediriger les demandes des clients vers la base de données principale (maître) appropriée.

Avantages de la multilocation de Redis Enterprise

La multilocation de Redis Enterprise résout de nombreux problèmes :

  1. Réduit les coûts d’infrastructure : Redis Enterprise maximise l’utilisation de l’infrastructure en vous permettant d’exécuter plusieurs points de terminaison de base de données Redis dans un seul cluster. Par exemple, vous pouvez exécuter des centaines de points de terminaison de base de données sur un simple cluster à trois nœuds. Le nombre d’instances de base de données que vous pouvez exécuter peut être bien supérieur aux cœurs disponibles en raison du découpage temporel intégré. Redis Enterprise utilise toutes les ressources physiques disponibles avant de signaler la nécessité d’ajouter des ressources supplémentaires. En revanche, d’autres solutions mutualisées ne fournissent qu’un point de terminaison de base de données par nœud ou cluster. Si vous avez besoin de plus de points de terminaison de base de données, vous devez investir dans une infrastructure plus physique.
  2. Rend la mise à l’échelle transparente : Vous pouvez mettre à l’échelle une base de données Redis Enterprise en ajoutant plus de fragments et même en l’étendant sur plusieurs nœuds si nécessaire. L’architecture Redis Enterprise garantit que les autres locataires (les bases de données dans ce cas) ne sont pas affectés pendant ce processus.
  3. Offre une adaptabilité au niveau du locataire pour la haute disponibilité, la persistance, l’éviction et la taille des données : Toutes les applications n’ont pas les mêmes exigences en matière de durabilité des données et de haute disponibilité. Dans Redis Enterprise, vous pouvez régler votre base de données pour répondre aux exigences de votre application, indépendamment des autres bases de données exécutées sur le même nœud.
  4. Apporte de l’agilité aux environnements de développement, de test et de production : Une fois le cluster Redis Enterprise configuré, les développeurs d’applications peuvent provisionner les points de terminaison de la base de données Redis à la demande sans se soucier de l’infrastructure physique ou cloud sous-jacente.

Redis Enterprise est une solution multi-tenant éprouvée sur le marché. Redis Cloud est en effet le service multi-tenant de Redis Enterprise. Les contrôles intégrés dans Redis Cloud garantissent que toutes les exigences de débit et de latence des bases de données sont satisfaites, tout en étant à l’abri des « voisins bruyants » et tout en restant hautement disponible dans des environnements distribués évolutifs.

Redis exécute plus de 500 000 points de terminaison de base de données sur toutes les plates-formes de cloud public populaires : AWS, Azure, GCP et SoftLayer. Redis Enterprise Software est déployé en tant que logiciel multi-tenant dans plus de 300 entreprises. Lisez notre Documentation pour apprendre à créer et à gérer des bases de données dans un environnement multi-tenant.

Development Source

Related Posts

RLEC 4.2.1 apporte des contrôles granulaires à la haute disponibilité et aux performances

RLEC 4.2.1 apporte des contrôles granulaires à la haute disponibilité et aux performances

Comment HolidayMe utilise Redis Enterprise comme base de données principale

Comment HolidayMe utilise Redis Enterprise comme base de données principale

Annonce de RedisGears 1.0 : un moteur sans serveur pour Redis

Annonce de RedisGears 1.0 : un moteur sans serveur pour Redis

Clés Redis dans la RAM |  Redis

Clés Redis dans la RAM | Redis

No Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *