Banque de données - Implémentation de microservices sur AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Banque de données

Le magasin de données est utilisé pour conserver les données nécessaires aux microservices. Les magasins les plus populaires pour les données de session sont les caches en mémoire tels que Memcached ou Redis. AWS propose les deux technologies dans le cadre du ElastiCache service géré Amazon.

La mise en cache entre les serveurs d'applications et une base de données est un mécanisme courant pour réduire la charge de lecture sur la base de données, ce qui peut permettre d'utiliser des ressources pour prendre en charge un plus grand nombre d'écritures. Les caches peuvent également améliorer la latence.

Les bases de données relationnelles sont toujours très populaires pour stocker des données structurées et des objets métiers. AWS propose six moteurs de base de données (Microsoft SQL Server, Oracle, MySQL, MariaDB, SQL Postgre et Amazon Aurora) sous forme de services gérés via Amazon Relational Database Service (Amazon). RDS

Cependant, les bases de données relationnelles ne sont pas conçues pour une échelle infinie, ce qui peut rendre difficile et chronophage l'application de techniques permettant de prendre en charge un grand nombre de requêtes.

Aucune SQL base de données n'a été conçue pour privilégier l'évolutivité, les performances et la disponibilité au détriment de la cohérence des bases de données relationnelles. L'un des éléments importants des SQL bases de données No est qu'elles n'appliquent généralement pas de schéma strict. Les données sont réparties sur des partitions qui peuvent être redimensionnées horizontalement et sont récupérées à l'aide de clés de partition.

Étant donné que les microservices individuels sont conçus pour faire une chose bien, ils disposent généralement d'un modèle de données simplifié qui peut être bien adapté à l'absence de SQL persistance. Il est important de comprendre qu'aucune SQL base de données n'a des modèles d'accès différents de ceux des bases de données relationnelles. Par exemple, il n'est pas possible de joindre des tables. Si cela est nécessaire, la logique doit être implémentée dans l'application. Vous pouvez utiliser Amazon DynamoDB pour créer une table de base de données capable de stocker et de récupérer n'importe quel volume de données et de traiter n'importe quel niveau de trafic de demandes. DynamoDB fournit des performances à un chiffre en millisecondes, mais certains cas d'utilisation nécessitent des temps de réponse en microsecondes. DynamoDB Accelerator DAX () fournit des fonctionnalités de mise en cache pour accéder aux données.

DynamoDB propose également une fonction de mise à l'échelle automatique pour ajuster dynamiquement la capacité de débit en réponse au trafic réel. Cependant, dans certains cas, la planification des capacités est difficile ou impossible en raison de pics d'activité importants de courte durée dans votre application. Dans de telles situations, DynamoDB propose une option à la demande, qui propose une tarification simple. pay-per-request DynamoDB à la demande est capable de répondre instantanément à des milliers de demandes par seconde, sans planification des capacités.

Pour plus d'informations, reportez-vous à Gestion distribuée des données la section Comment choisir une base de données.