Prisma note

Prisma est une couche d’accès aux données (DAL) Open Source, basée sur GraphQL, qui transforme votre base de données en une API GraphQL.

Prisma vous permet:

Lire et écrire dans votre base de données à l’aide de requêtes et de mutations GraphQL
Recevoir des mises à jour en temps réel pour les événements de base de données à l’aide des abonnements GraphQL
Effectuez des migrations et modélisez vos données à l’aide de GraphQL SDLQu’est ce que Prisma?

Cas d’utilisation
Le principal cas d’utilisation de Prisma est de fournir la couche d’accès aux données (think ORM) pour les serveurs API. En raison de son moteur GraphQL, Prisma est le plus souvent utilisé pour construire des API GraphQL mais fonctionne également avec REST ou tout autre paradigme API.

Les autres cas d’utilisation de Prisma sont les scripts, les fonctions, les serveurs de files d’attente ou tout autre contexte dans lequel les développeurs doivent communiquer avec une base de données.

Lors de la création d’un serveur GraphQL utilisant Prisma comme couche d’accès aux données, il est important de comprendre que l’API Prisma GraphQL générée automatiquement n’est pas utilisée par vos applications client.

Lors du développement de serveurs d’applications, la complexité réside dans la mise en œuvre d’un accès aux bases de données sûr et bien organisé en matière de synchronisation, d’optimisation / performance des requêtes et de sécurité. Cela devient encore plus compliqué lorsque plusieurs bases de données sont impliquées.

Une solution commune à ce problème est l’introduction d’une couche DAL dédiée qui élimine les complexités de l’accès aux bases de données. L’API de DAL est consommée par le serveur d’applications, permettant aux développeurs d’API de réfléchir simplement aux données dont ils ont besoin au lieu de se soucier de les récupérer de manière sécurisée et performante à partir de la base de données.

L’utilisation d’un DAL assure une séparation claire des problèmes et améliore donc la maintenabilité et la réutilisabilité de votre code. Avoir une forme d’abstraction de base de données (que ce soit une simple bibliothèque ORM ou un composant d’infrastructure autonome) est la meilleure pratique pour les applications de petite taille ainsi que pour les applications exécutées à grande échelle. Il garantit que le serveur d’applications peut communiquer avec vos bases de données de manière sécurisée et performante.

Prisma est un DAL auto-généré suivant les mêmes principes que les DAL leaders du marché (comme Strato de Twitter ou TAO de Facebook) tout en restant accessible pour les petites applications.

Prisma vous permet de démarrer votre projet avec une architecture propre dès le début et vous évite d’écrire le passe-partout qui est autrement nécessaire pour coller ensemble la base de données et le serveur d’applications.

Comment Prisma s’intègre-t-il dans votre pile?
Composer des API GraphQL avec des liaisons GraphQL
Lorsque vous travaillez avec Prisma, vous travaillez généralement avec plusieurs API GraphQL sur votre pile, chacune ayant une responsabilité différente (par exemple, serveur d’applications, DAL, …).

L’API CRUD / realtime GraphQL générée automatiquement par Prisma constitue la base de votre serveur d’applications. Sur le serveur d’applications, les opérations CRUD génériques de Prisma sont ré-exposées via des liaisons GraphQL et transformées en une API GraphQL spécifique au domaine (avec un schéma personnalisé) qui est exposée à vos applications clientes.

Une autre approche courante consiste à utiliser Prisma pour développer des “microservices GraphQL” avec une couche de passerelle GraphQL sur le dessus, combinant les microservices sous-jacents (en utilisant l’assemblage de schémas GraphQL).

EXEMPLE D’ARCHITECTURES
Prisma est extrêmement flexible et peut être utilisé avec presque toutes les architectures. Voici quelques exemples d’architectures montrant comment Prisma s’intègre dans votre pile.

Principaux concepts
Lorsque vous travaillez avec Prisma, vous devez comprendre les concepts suivants:

Service Prisma: chaque service Prisma fournit un mappage de votre base de données à GraphQL et expose une API GraphQL CRUD / en temps réel, appelée API Prisma. En travaillant avec Prisma, vous passerez le plus clair de votre temps à développer et à utiliser les API de vos services Prisma.
Prisma Server: Un serveur Prisma fournit l’environnement d’exécution pour de nombreux services Prisma. Les serveurs Prisma peuvent être déployés n’importe où (par exemple, en utilisant Docker) et sont soutenus par une ou plusieurs bases de données. Un serveur Prisma est configuré une fois, après quoi les services Prisma peuvent être déployés.
Configuration du service: vous pouvez considérer la configuration du service comme un modèle pour un service. Pour déployer un service, la CLI envoie la configuration du service au serveur Prisma qui crée / met à jour le service Prisma correspondant. La configuration du service comprend:

prisma.yml: le fichier de configuration racine d’un service Prisma (inclut le noeud final du service, le secret du service, le chemin d’accès au fichier du modèle de données, …)
Modèle de données: dans le modèle de données, vous définissez des modèles utilisés par Prisma pour générer l’API GraphQL pour votre base de données (et éventuellement pour migrer la base de données sous-jacente). Il utilise la syntaxe déclarative GraphQL SDL et est généralement stocké dans un fichier appelé datamodel.graphql.
Prisma CLI: La CLI Prisma est principalement utilisée pour gérer les services Prisma. Il vous permet d’initialiser et de déployer des services, de générer des jetons de service, d’analyser une base de données pour générer un modèle de données SDL, de supprimer des services d’un serveur Prisma, etc.

猜你喜欢

转载自blog.csdn.net/weixin_42936560/article/details/82455003