À mesure que WordPress mûrit, de plus en plus de gens l’utilisent comme plate forme d’application. Comme Matt Mullenweg considère WordPress comme un système d’exploitation Web Open Source, je pense qu’il est nécessaire de remettre en question certains de nos concepts sur la façon d’utiliser WordPress. Traditionnellement, les sites WordPress fonctionnent comme des unités monolithiques. Cela contraste fortement avec la tendance du développement du Web vers les microservices: de nombreuses petites applications à usage unique sont configurées comme une seule Unit é. Par exemple, envisagez de mettre en cache lrsquostatique HTML. suivez l’approche monolithique, ajoutez un plug in qui est généré dans WordPress et qui sert la mise en cache. Alternativement, pouvez configurer varnish ou nginx sur le serveur pour fournir le HTML mis en cache. Drsquoautre part, lorsque utilisez la méthode microservice, utiliserez un serveur ou un réseau de serveurs distinct pour implémenter la mise en cache fournie avec le CDN.
Pour lrsquoapplication Web que je développe, Caldera forms pro, nous nous dirigeons vers les microservices. Bien que l’application ait été initialement une application centrale laraver qui utilise notre site WordPress pour le commerce électronique, la dernière fonctionnalité que nous avons implémentée, la fonctionnalité améliorée d’enregistrement des erreurs, a été implémentée en tant que microservice autonome intégré dans le microcadre Lumen. L’adoption de l’architecture des microservices a été le thème de mon discours au wordpcamp de Montréal – notre avenir hybride: WordPress dans le cadre du Stac. Dans je vais discuter de ce qu’est une architecture de microservice et comment l’utiliser pour améliorer le développement d’applications WordPress.
Un modèle drsquoarchitecture à puce unique est une application à puce unique construite en tant qursquounit é unique. Lrsquoapplication côté serveur traite les requêtes http, exécute la logique de domaine, récupère et met à jour les données de la base de données, et sélectionne
Initialiser et compiler la vue HTML à envoyer au navigateur. nous définissons drsquoabord le contraire du modèle de microservice: une architecture à puce unique, Martin Fowler comprend mieux le modèle de microservice. une application Web est créée et exécutée en tant qursquoentité unique, elle est considérée comme un tout. L’architecture WordPress traditionnelle y est conforme à bien des égards. Vous avez un serveur privé, VPS, ou une partie drsquoun serveur partagé qui exécute PHP, MySQL, et un serveur Web Apache, nginx, et ainsi de suite Lancez tout le programme. Nous ajoutons des fonctionnalités à ce programme en installant drsquoautres programmes (redis, Varnish, etc.) sur ce serveur Et ajoutez plus de code au plugin wordpress ie.
Le principal avantage de la structure monolithique est sa simplicité. Vous avez un programme, un serveur et un ensemble de technologies. Approche des microservices le style drsquoarchitecture des microservices est un moyen de développer une seule application en un ensemble de petits services, chacun fonctionnant dans son propre processus et communiquant avec des mécanismes légers, généralement des API de ressources http. Martin Fowler, contrairement aux programmes omnipotents, lrsquoapproche de microservices en matière de conception drsquoapplications Web stipule que chaque Unit é drsquoune application doit être son propre programme fonctionnant sur son propre serveur ou réseau de serveurs.
Le principal avantage est une meilleure encapsulation. Cette Encapsulation aide à réduire les défis. Comme chaque partie du programme fonctionne sur son propre serveur, pouvez optimiser et redimensionner chaque réseau de serveurs indépendamment pour répondre à vos besoins. En plus de lrsquoextensibilité, lrsquoajout drsquoun emballage présente de nombreux avantages. En faisant de chaque partie drsquoun programme une base de code distincte, pouvez les développer et les mettre en oeuvre à lrsquoaide drsquoun calendrier distinct. De plus, comme ces services sont conçus indépendamment, ils peuvent être réutilisés dans drsquoautres applications. Amazon. Comment lrsquoexemple drsquoapplication Web sur l
Lrsquoéchelle Arga est créée à lrsquoaide de lrsquoarchitecture microservices. Ils créent chaque partie de lrsquoapplication en tant que service distinct et transforment de nombreuses parties en produits autonomes fournis par lrsquointermédiaire des services Web Amazon. Amazon avait atteint sa taille drsquoune manière ou drsquoune autre sans micro service, elle nrsquoaurait pas pu nous vendre sa solution de stockage de fichiers S3 ou sa solution de courrier électronique.
Les microservices permettent également de réaliser des économies. Il est beaucoup moins cher drsquoutiliser mailchimp pour gérer une fonctionnalité importante de votre site Web, le marketing par courriel, que de créer votre propre service de marketing par courriel pour chaque site Web. WordPress n’est pas tout à fait unique. Comment a été construit le premier grand site WordPress: une installation multisite avec des millions d’utilisateurs. Apparemment, crsquoest beaucoup plus compliqué. Automatic nrsquoavait pas développé et mis en œuvre des outils pour déployer le traitement et lrsquoutilisation des microservices, sa technologie nrsquoaurait pas vraiment fonctionné.
La première étape vers lrsquoarchitecture des microservices consiste à répartir le traitement entre les réseaux. Hyperdb a été développé par Automatic pour déployer un réseau redondant de serveurs MySQL pour déployer des bases de données sur les sites WordPress. Hyperdb et systèmes similaires sont maintenant omniprésents dans WordPress. Nous utilisons également le CDN pour des fichiers statiques de service. Nous utilisons une passerelle de paiement tierce partie pour gérer les paiements et les abonnements. Nous utilisons un fournisseur de courriels transactionnels pour envoyer des courriels. La qualité de l’hébergement WordPress n’est plus liée au serveur. Il srsquoagit drsquoun réseau de services pour étendre le site et fournir un rendement uniforme à lrsquoéchelle mondiale.
Humanmake est un développeur WordPress d’entreprise qui a de bonnes instructions pour redimensionner WordPress. Leur liste de plug ins pour redimensionner WordPress est q
Uasi distribue le traitement WordPress via des services spécialisés. Pourquoi les microservices sont importants pour les développeurs WordPress Souvent, lorsque nous pensons aux microservices, nous parlons de lrsquoextensibilité du serveur. Je ne suis pas un devops. Par conséquent, je ne parlerai pas du déploiement ou de la pile de serveurs conteneurisés. Je comprends pourquoi faites ça, et il y a beaucoup drsquoautres ressources.
D’autre part, je crée des plugins pour WordPress et des applications Web. Penser du point de vue des microservices mrsquoa aidé à repenser la façon de traiter ces questions. Crsquoest ce dont je veux parler. Chaque décision drsquoingénierie que nous prenons est un compromis avec ses inconvénients. Nous ne pouvons pas lrsquoéviter. Toutefois, les micro services réduisent la portée du compromis. Étant donné que chaque micro service est son propre programme distinct avec une responsabilité minimale, la technologie choisie et sa mise en oeuvre ne doivent tenir compte que drsquoune petite partie des exigences plus vastes du programme.
Du point de vue des développeurs WordPress, nous pouvons considérer les microservices comme un moyen de contourner les restrictions de WordPress. Lrsquoexistence drsquoun site Web intégré pour promouvoir le produit, le vendre et gérer les abonnements au produit est un problème majeur drsquoextensibilité. le produit est une application et que l’application est intégrée dans WordPress, c’est encore plus difficile maintenant. Mais que se passe t il si nous reconsidérons quatre sites WordPress ou plus liés par l’api WordPress rest? Par exemple, que se passe t il si déplacez la gestion des abonnements vers un site distinct? Par conséquent, nrsquoavez pas à soucier de traiter un grand nombre de renouvellements tout en ayant un grand nombre de pistes sur votre site. Les renouvellements drsquoabonnement peuvent avoir pour effet de retarder légèrement le traitement des renouvellements sans ralentir le chargement de lrsquoavant du site.
créez un U
Vizzi. Lorsque utilisez des microservices, communiquez toujours par lrsquointermédiaire de lrsquoAPI http et devez résoudre le problème de la façon dont un service déclenche un processus sur un autre service. Tout d’abord, en utilisant Caldera forms pro, j’envisage d’utiliser laraver pour exécuter la commande WP CLI sur le site WordPress. Cela fonctionnera dans mon environnement de développement local lorsque les deux applications fonctionnent sur la même VM. je décide de communiquer entre les applications via le CLI de lrsquoapplication, je ne peux pas les déployer sur des serveurs séparés, ce que nous avons fait et ce que nous avions prévu. Ce raccourci éliminera lrsquoun des principaux avantages de la séparation des fonctions entre les différents services. Au lieu de cela, différents services communiquent toujours via lrsquoAPI rest. J’utilise l’api WordPress rest pour ajouter des paramètres à notre site WordPress. Les applications laraver et Lumen sont essentiellement des applications CMS sans tête: Ce sont des datastores accessibles via lrsquoAPI rest. Lrsquoapplication principale nrsquoa qursquoune seule vue et sert une seule page drsquoapplication Web vuejs. Ce qui est intéressant à propos de la création de microservices, crsquoest que chaque service a peu de responsabilités. Cela exige un minimum pratique. un service fait quelque chose et fait quelque chose de bien, pouvez laisser tomber. Oui, votre entreprise pourrait développer de nouvelles exigences. Créer un nouveau service au besoin. En tant que développeurs WordPress, nous avons été formés pour séparer les fonctionnalités en plug ins afin de pouvoir les développer et les réutiliser indépendamment. Les microservices vont plus loin dans cette approche. Nous pouvons utiliser le même microservice ou instance que le microservice pour résoudre les problèmes de duplication sur plusieurs projets. Lrsquoapproche des microservices maximise le potentiel de réutilisation du Code. Rappelez Amazon. Com nrsquoest pas seulement un leader dans le commerce électronique, beaucoup de ses concurrents les paient pour utiliser les services neces
Chaque réalité Amazon Sally. Format générique de nom de domaine. Il est exact que les microservices sont plus susceptibles de devenir des produits autonomes que drsquoautres types de code développés pour des projets spécifiques. La granularité ftw apprendrez quelque chose lorsque nous commencerons à travailler sur le Code. LrsquoEncapsulation des fonctions autour drsquoune seule responsabilité est une bonne conception. Nous avons appris que lrsquoécriture de code réutilisé est une bonne conception. Appliquer ces lignes directrices importantes à notre architecture de programme en utilisant lrsquoapproche des microservices. Il impose également des limites de portée qui aident à appliquer les deux lignes directrices à notre code drsquoune manière qui présente drsquoénormes avantages pratiques. En rendant chaque partie du programme indépendante, nous pouvons choisir les technologies et les solutions drsquoune manière plus granulaire.
Embrasser le modèle de 39 personnes Architecture de microservice avec wordpress