Redis : la base de données légère et évolutive

Redis : la base de données légère et évolutive

Nous sommes Roue libreune société de Comcast fournissant des solutions à l’industrie de la publicité dans les médias pour permettre l’efficacité et la compréhension de tous les aspects des flux de travail de campagne, à travers les médias pour les acheteurs et les éditeurs de médias.

Notre système est basé sur une architecture de microservices. L’écosystème de produits qui prennent en charge le flux de travail a dû évoluer de manière significative au cours des 15 à 20 dernières années en termes de pile technologique et d’infrastructure. Une partie de cette évolution consistait à assurer un mécanisme de mise en cache robuste et rapide pour prendre en charge le stockage partagé des données au sein de notre écosystème et entre les environnements.

Il y a quelques années, le mécanisme de mise en cache de notre système consistait en un simple magasin par serveur et par application, utilisant les technologies intégrées disponibles sur Microsoft IIS et exécutant des applications Web .NET. Cela était suffisant pour les données de domaine isolées sans préoccupations partagées en dehors d’une seule demande. Mais à mesure que l’écosystème se développait, le besoin de partager ces données avec des processus exécutés dans une autre application ou un autre pool de serveurs augmentait également. Des problèmes avec les caches obsolètes sont apparus. Le déploiement de nos propres orchestrations qui tentaient de garantir un magasin à jour a entraîné un code non maintenable et difficile à mettre à l’échelle. Nous avons examiné de nombreuses solutions, y compris Memcache et divers dérivés tels que Couchbase, mais au final, nous avons opté pour Redis.

Freewheel Use Case Before

Ancien modèle

Redis a apporté avec lui une réputation croissante en tant que porte-étendard en matière de stockage de données léger, de performances et de fiabilité. En bref, cela a fonctionné et nous n’avons pas eu à perdre de temps à dépanner la technologie sous-jacente. Au lieu de cela, notre temps a été consacré à peaufiner une implémentation propre, qui a assuré la prise en charge du basculement et la gestion des politiques flexibles d’invalidation du cache (selon le cas d’utilisation). Nous pouvions également être sûrs que les données que nous stockions dans Redis persistaient rapidement dans une batterie de serveurs et étaient disponibles pour de nombreuses applications déployées différentes afin que les utilisateurs obtiennent toujours les données correctes.

Freewheel Use Case After

Réglage fin avec Redis

De plus, il existe un bon support communautaire et une bonne documentation pour le développement de Redis, avec prenant en charge des bibliothèques telles que StackExchange. Redis nous a donné la bonne quantité d’abstraction pour obtenir ce dont nous avons besoin. Nous avons également pu intégrer facilement Redis pour répondre à des préoccupations telles que la surveillance de la santé par rapport à nos systèmes existants. empiler. C’était un avantage fondamental, car nous avons un produit mature mais en croissance rapide avec de nouvelles versions toutes les deux semaines. Nous déployons maintenant Entreprise Redis à nos serveurs de production, à la fois bare metal et cloud, prenant en charge les utilisateurs en Europe, aux États-Unis et en APAC.

La transition vers Redis Enterprise a été une expérience positive. L’utilisation de Redis Enterprise a rendu le système plus stable et, plus important encore, nous avons identifié davantage de cas d’utilisation dans lesquels Redis peut être utilisé, ce qui améliorera encore l’expérience utilisateur. Cela nous permettra de réaliser des choses qui auraient autrement été plus difficiles. À l’heure actuelle, nous concevons l’infrastructure nécessaire à l’automatisation de certains processus internes qui faciliteront les scénarios d’intégration continue, qui sont la clé de notre succès et nous permettent d’avancer rapidement. Construire ces solutions autour de Redis nous permettra d’être plus sophistiqués dans notre approche et nous donnera des résultats plus évolutifs.

Ceci est un article invité de Daniel Jones, architecte technique chez FreeWheel. Il peut être contacté via sa page LinkedIn https://www.linkedin.com/in/daniel-jones-5b93774/

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 *