WordPress est un puissant système de gestion de contenu (CMS) qui jette les bases de différents types de sites web et d'applications. Il utilise une "architecture monolithique" typique, mais au fur et à mesure qu'un site web se développe, cette architecture peut ne pas être la plus appropriée. C'est là qu'intervient l'"architecture microservices".
![Image [1] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050806263395.jpg)
Qu'est-ce que les microservices ?
Dans une architecture monolithique, tous les composants d'une application sont étroitement liés les uns aux autres. Elle fonctionne essentiellement comme un service unique. C'est une fa?on simple de développer une application, mais lorsque la complexité augmente, la maintenance et l'évolutivité peuvent devenir un défi.
En revanche, les microservices permettent de décomposer une application en une série de services plus petits. Chaque service est indépendant les uns des autres en termes de développement, de déploiement et d'extension. Chaque service gère des taches spécifiques et communique avec d'autres services par le biais d'interfaces de programmation d'applications (API). Par exemple, un site de commerce électronique typique comporte un panier d'achat, une caisse, un traitement des commandes, des pages de produits, etc.
![Image [2] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050802475089.png)
Qu'est-ce qui distingue les microservices de l'architecture globale ?
Le "lift pitch" avancé des microservices consiste à combiner différentes technologies et différents outils pour créer un tout. D'autres caractéristiques plus profondes méritent d'être soulignées :
- découpléChaque service reste indépendant. Cela signifie que vous pouvez utiliser la meilleure technologie pour chaque tache, plut?t que d'avoir à gérer des cadres inappropriés.
- autonomieLes services intégrés n'ont pas besoin de dépendre les uns des autres pour atteindre un niveau de performance élevé.
- professionnalisationLe service d'aide à l'enfance : Bien entendu, chaque service se concentre sur son propre travail, ce qui influe sur les performances.
- résilienceLes services d'information et de communication de la Commission européenne sont très performants : une partie de cet atout réside dans le fait qu'une défaillance d'un seul service n'entra?ne pas l'arrêt d'un site entier.
Au-delà de ces aspects, l'utilisation de microservices présente d'autres avantages :
- évolutivitéLes services personnels peuvent être étendus pour répondre à des besoins individuels sans affecter le reste de l'application.
- dextéritéLes services : Un bref aper?u a été donné de la manière dont les services utilisent la meilleure technologie pour accomplir le travail. Cela va jusqu'aux langages de programmation utilisés pour les créer.
- Un développement plus rapideLes petits services centralisés peuvent être développés plus rapidement, leur fonctionnalité peut être mieux comprise et le système peut être entretenu plus facilement.
- Amélioration de l'isolation des défautsLe paramètre "modularité" permet d'isoler un service en cas de défaillance sans affecter les autres services.
D'autre part, les microservices peuvent introduire de la complexité dans la communication, la cohérence des données et la gestion des systèmes distribués. Par conséquent, les exigences de l'application doivent être soigneusement évaluées.
![Image [3] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050806275022.jpg)
Composants de l'architecture microservices
Une architecture microservices peut se composer de plusieurs éléments. C'est comme des "rouages" qui travaillent ensemble dans la "roue" pour fournir des applications évolutives et faciles à maintenir.
C'est pourquoi un certain nombre d'éléments sont essentiels à une mise en ?uvre harmonieuse :
- Passerelle API :C'est le point d'entrée pour toutes les demandes des clients. Il transfère ces demandes au microservice approprié. Il gère également des taches telles que la limitation du débit et l'authentification.
- Découverte de services :Des outils tels que Consul ou Eureka peuvent être utiles à cet égard.
- Conteneurisation : utiliserDockerIl est courant que les outils de ce type empaquettent les microservices et les déploient sous forme de conteneurs. C'est une fa?on d'isoler chaque service.
- Orchestration :Lorsqu'on ajoute des microservices à une application, leur gestion devient plus complexe.KubernetesCes outils peuvent contribuer à automatiser la gestion des services.
- Cache :Redisou des mécanismes de mise en cache tels que Memcached améliorent généralement les performances. C'est un point essentiel compte tenu de la pression accrue exercée sur les services d'arrière-plan et les bases de données.
- Messagerie :Et, bien s?r, les services doivent communiquer entre eux. Il s'agit d'unLapinMQpeut-êtreApache KafkaCes "courtiers de messages" permettent un couplage lache entre les microservices. Ces "courtiers de messages" permettent un couplage lache entre les microservices.
Cependant, les outils ne sont qu'un aspect de la configuration. Il y a d'autres considérations, comme la manière de concevoir chaque microservice dans l'architecture complète.
![Image [4] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050806290213.jpg)
Modèles de conception pour les microservices
Modèles de conception pour les microservicesIci avecProcessus de développementest tout aussi important que n'importe quel autre élément de l'application. Compte tenu de la complexité potentielle de l'application, il est important de déterminer les modèles qui auront le plus d'impact. Il en existe trois principaux :
- par base de données de services :Chaque microservice utilise sa propre base de données dédiée, ce qui favorise l'isolation et l'autonomie des données.
- Combinaisons API :Les microservices peuvent être combinés pour créer des services ou des API de niveau supérieur. Cette flexibilité et cette réutilisation sont les principaux avantages.
- Architecture pilotée par les événements :Ici, les services communiqueront par le biais d'événements. Cela facilite un couplage plus lache et un traitement asynchrone.
Microservices et l'API REST de WordPress
L'API WordPress REST joue un r?le crucial dans l'intégration entre les sites et les microservices. Elle estpoint de départ ou point d'arrivée (dans les histoires, etc.)Permet de récupérer et de manipuler les articles, les pages et les utilisateurs de WordPress en utilisant une sortie JSON,classificationetc.
[
{
"id" : 1,
"date" : "2020-04-01T10:30:00",
"date_gmt": "2020-04-01T14:30:00",
"guid" : {
"rendered" : "https://example.com/?p=1"
},
"modified" : "2020-04-01T10:30:00", "modified_gmt" : "2020-04-01T10:30:00",
"modified_gmt" : "2020-04-01T14:30:00", "modified_gmt" : "2020-04-01T14:30:00",
"title" : {
"rendered" : "Hello World"
}, ...
...
En tant que telle, l'API REST est la plaque tournante de tous les autres services de l'architecture. Cela signifie qu'il faut choisir les services web actuels à extraire en tant que microservices. Nous en discuterons plus en détail dans un prochain article.
L'essentiel est d'identifier les différentes fonctions et responsabilités au sein d'une application web. Sur cette base, elles peuvent être divisées en microservices distincts, centralisés et déployables.
Construire des applications web avec Create Block Themes et Microservices
Découvrez le processus de création d'une application web à l'aide de microservices et du plugin Create Block Theme. La première étape consiste à mettre en place l'environnement de développement.
1. créer l'environnement de développement
Chaque application commence par un espace utilisé pour la créer. Un environnement de développement est donc nécessaire. L'espace de développement a deux emplacements : l'ordinateur local et le serveur. La mise en place de lde l'environnement de développement localIl existe de nombreuses fa?ons de procéder.
2. installer le plugin de création de blocs thématiques
Une fois l'environnement de développement mis en place, vous pouvez commencer à utiliser le plugin Create Block Theme pour créer des thèmes personnalisés basés sur des blocs. Les éléments suivants sont également nécessaires :
- Un site web WordPress fonctionnel.
- éditeur de codes.
- Créer un plugin de thème de bloc.
Le plugin peut être installé de la manière typique de WordPress. Ensuite, il faut se rendre sur la page d'accueil de WordPress"Apparence" > "Créer un thème de bloc"Lien :
![Image [5] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050803140145.png)
vérifier"Apparence".vous trouverez l'onglet"Gérer les polices de caractères du thème"option. La création d'un bloc thématique vous donne également accès à cette option, qui est laBibliothèque de polices de WordPress 6.5Fonction.
![Image [6] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050803161510.png)
Ces champs deviendront les champs d'identification du sujet dans votre document.style.css
. Ils sont également très simples et prévoient une disposition pourCatalogue de thèmes WordPressSélectionnez un nom, une capture d'écran, une URL et quelques balises.
Cliquez sur Confirmer et allez à nouveau sur"Apparence" > "Thème"vous pouvez voir que votre nouveau thème est prêt à être utilisé :
![Image [7] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050803180454.png)
Conseils de mise en place et d'utilisation pour la création de blocs thématiques
Comme cela dépasse le cadre de cet article, nous ne personnaliserons pas trop le nouveau thème de bloc. Cependant, voici quelques conseils pour l'utilisation du thème Create Block :
- Les modifications peuvent être effectuées à deux endroits. Vous pouvez utiliser l'option "Styles globaux" dans l'"éditeur du site", ou vous pouvez personnaliser le menu "Styles globaux".theme.jsonDocumentation.
- La création d'un bloc thématique vous permet de générer un thème enfant basé sur le thème actif actuel.
3. extraction des microservices sélectionnés
Une fois que le thème du bloc est prêt, il est temps d'examiner les microservices de plus près. Une décision clé doit être prise : quels services deviendront des "microservices".
Il vous suffit de décider en fonction de vos besoins. Toutefois, il convient de garder à l'esprit certains facteurs :
- Caractéristiques du site web :Examinez les fonctionnalités uniques offertes par le site et envisagez de les diviser en microservices distincts, comme les fonctions de paiement.
- évolutivité indépendante :Les services existants qui dépendent d'une mise à l'échelle indépendante seraient de bons candidats pour les microservices. La mise en cache en est un exemple.
- Diversité technologique :C'est un autre candidat pour les microservices si l'on doit s'éloigner de l'architecture PHP de WordPress. C'est en grande partie le cas pour les plateformes de commerce électronique ou les composants backend spécifiques.
- Séparation des données :Les services ayant des besoins de stockage de données personnalisés peuvent être des microservices. C'est également le cas si ces services n'ont pas besoin de partager des données avec d'autres services.
![Image [8] - Comment construire des applications Web WordPress en utilisant l'architecture microservices - Photonflux.com | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide](http://gqxi.cn/wp-content/uploads/2024/05/2024050806402842.png)
Développer et déployer des microservices
Pour gérer et éventuellement déployer des microservices, vous devez vous appuyer sur d'autres outils. Voici quelques-unes des considérations clés et des outils qui peuvent être utilisés :
- Docker est généralement le moyen de conteneuriser les microservices. Il regroupe les microservices et leurs dépendances, ce qui facilite leur déploiement et leur mise à l'échelle.
- Chaque microservice nécessite également un fichier Docker. Il doit spécifier les dépendances, les configurations et les environnements d'exécution nécessaires.
- Orchestration et gestion de conteneurs à l'aide de Kubernetes.
- Les pipelines d'intégration et de déploiement continus (CI/CD) peuvent être un moyen d'automatiser les constructions, les tests et les déploiements. Des outils tels que GitLab et Travis CI peuvent aider à rationaliser le processus CI/CD.
- Les fonctions sans serveur ne nécessitent pas de serveurs à part entière, elles conviennent donc parfaitement aux microservices, et les plateformes telles que AWS Lambda, Google Cloud Functions ou Azure Functions ne nécessitent pas de serveurs sur site ou gérés pour exécuter le code.
- La passerelle API constitue un point d'entrée unique pour les microservices.Kongpeut-êtrePasserelle API d'AmazonEn outre, ils peuvent prendre en charge des taches telles que l'authentification, la limitation du débit et l'acheminement des demandes.
à ce stade, vous disposez d'un site web WordPress et d'un microservice distincts l'un de l'autre. L'étape finale consiste à les intégrer.
4) Intégrer les microservices à WordPress
Après avoir développé et déployé des microservices, vous devez les intégrer à WordPress. Pour ce faire, des appels API doivent être effectués à partir des points d'extrémité que WordPress expose aux microservices. Une compréhension approfondie de l'API REST est nécessaire.
LesMéthodes typiquesj'utilisewp_remote_get()
peut-êtrewp_remote_post()
Cela vous permet d'envoyer des requêtes HTTP et de traiter les réponses. Cela vous permet d'envoyer des requêtes HTTP et de traiter les réponses. Voici un exemple de code qui montre comment ils s'intègrent l'un à l'autre :
// URL du point de terminaison de l'API
$api_url = 'https://api.example.com/endpoint' ;
// Paramètres de la requête API
$params = array(
) ;
// Effectuer la demande d'API en utilisant wp_remote_get
$response = wp_remote_get(add_query_arg($params, $api_url)) ;
// Vérifier si la demande a abouti
if (is_wp_error($response)) {
// Gérer l'erreur
$error_message = $response->get_error_message() ;
// Enregistrer ou afficher le message d'erreur
} else {
// Traiter la réponse de l'API
$response_body = wp_remote_retrieve_body($response) ; } else { // Traiter la réponse API.
$data = json_decode($response_body, true) ;
// Utiliser les données récupérées selon les besoins
// ...
}
Les microservices bénéficient souvent d'une récupération asynchrone des données pour éviter de bloquer le thread principal. WordPress peut combiner deux éléments pour y parvenir. Vous pouvez utiliser la fonctionPaquet API Fetchasynchrone
aussireporter
Introduit dans WordPress 6.3Soutien.
import apiFetch from '@wordpress/api-fetch' ;
// URL du point de terminaison de l'API Microservice
const microserviceUrl = 'https://api.example.com/microservice' ;
...
// Effectuer la demande d'API au microservice
apiFetch({
path : microserviceUrl, method : 'GET', {
method : 'GET', data : params, {
data : params, })
})
.then((response) => {
// Traite la réponse
console.log(response) ;
// Utiliser les données récupérées du microservice
// ...
})
...
Pensez également à utiliser AJAX pour effectuer des mises à jour dynamiques de l'interface utilisateur.Authentification correcteet les mesures de sécurité sont également essentielles. L'API REST de WordPress comprend plusieurs moyens d'authentifier une session, tels que les cookies, les jetons Web JSON (JWT), ou encore lesMot de passe de l'application. Compte tenu de la dépendance à l'égard des solutions externes, il est essentiel d'assurer la sécurité des microservices et des sites.
étant donné que nous utilisons un thème Block personnalisé, le processus se compose de trois parties :S'inscrire au blocetRendu du contenuet le traitement des données.JavaScriptsera la langue de votre choix, leregisterBlockType
gérera la fonctionEnregistrement et rendu: :
// Fonction JavaScript qui construit le bloc pour permettre l'accès à l'éditeur de blocs.
( function( blocks, element ) {
var el = element.createElement ;
blocks.registerBlockType( 'my-micro/stripe-api', {
title : 'Stripe Payment Gateway', icon : 'dashicons-capi', {
edit : function() {
return el(
'div'.
{}, '' // Créer les éléments visuels du microservice à afficher dans l'éditeur de blocs.
'' // Créer les éléments visuels du microservice à afficher dans l'éditeur de blocs.
) ; }, {}
) ; }, ...
...
résumés
WordPress est monolithique, mais cela ne l'empêche pas d'adopter des microservices. Il y a de nombreux avantages à le faire, tels que l'augmentation de l'évolutivité, de la flexibilité et de la vitesse de développement. La création de plugins de thème en bloc vous permet de créer une base de code propre et sécurisée pour le reste du projet. Les microservices peuvent introduire de la complexité dans un site web. L'utilisation d'un thème de bloc personnalisé signifie que ces services peuvent être mis en ?uvre selon les besoins et de la meilleure manière possible.
Lien vers cet article :http://gqxi.cn/fr/9427L'article est protégé par le droit d'auteur et doit être reproduit avec mention.
Pas de commentaires