
Duktig PHP Framework est convivial, rapide et léger, spécialement écrit pour le développement des microservices
Déployez ce projet dans votre environnement local avec Docker-Compose , développez certaines fonctionnalités et créez une image Docker.
Toutes les préparations d'images Docker pour le déploiement de l'environnement local sont déjà incluses dans le répertoire docker-deployment .
git clone https://github.com/duktig-solutions/Duktig-microservice-php.git
cd Duktig-microservice-php/docker-deployment
docker-compose up -dAprès un déploiement réussi, vérifions l'accessibilité:
curl --request GET --url http://localhost:8088/system/ping Vous devriez voir: réponse pong ;)
C'est ça! Vous pouvez maintenant lire des exemples et des tutoriels pour les étapes futures.
Déployez le projet dans votre environnement local avec une seule commande. Toutes les images de docker tierces requises sont déjà incluses et configurées, telles que des bases de données, un serveur Web, etc ...
Comprend des exemples de code agréables et très bien commentés à suivre.
Ces exemples comprennent le développement d'API RESTful, CRUD, la validation des données, l'accès à la base de données, les outils de ligne de commande, le message / la file d'attente, la publication / d'abonnement et bien d'autres ...
Étapes très faciles pour développer un service API RESTful, y compris - Route, middleware, contrôleur, modèle et réponse JSON finale.
Le mécanisme de mise en cache des données Redis est également inclus. Il est possible de configurer un itinéraire avec une mise en cache automatique pour la réponse.
Créez des outils de ligne de commande juste en quelques minutes, en utilisant le routage et le développement du contrôleur.
Les abonnements d'événements, les travailleurs de la file d'attente de messages et d'autres outils fonctionnent dans l'environnement de la ligne de commande.
L'image Cron Docker avec des exemples également incluses dans ce projet.
Le projet DUKTIG comprend des fonctionnalités de publication et d'abonnement qui sont possibles à utiliser dans différents scénarios.
L'objectif général de cette fonctionnalité est la communication inter-services, où chaque service de ligne de commande peut s'abonner aux messages d'autres services.
La fonctionnalité MQ permet de développer des travailleurs et de créer des tâches pour eux. Le consommateur peut recevoir des tâches et se diviser en travailleurs pour traiter.
Une fois une tâche terminée avec l'échec, il peut se répéter jusqu'à la quantité de carreaux configurés.
La principale différence entre Publish/Subscribe et Message/Queue est que de nombreux abonnés peuvent recevoir des messages publiés par un service, lorsque les tâches Message/Queue sont uniques pour chaque service. Le message / tâche peuvent être reçus et traités par un seul travailleur à la fois.
Une fois que nous parlons du développement des microservices, il est logique d'avoir une architecture agréable et facile d'événements. Comme mentionné précédemment, nous avons déjà Publish/Subscribe BO Build Driven System.
Avec Duktig Framework, il est possible de publier des événements et de s'abonner pour eux en utilisant Redis. Ce que vous devez faire est d'utiliser des bibliothèques de pub / sous-sous-marins déjà développées.
Duktig Framework comprend des bibliothèques de base de données pour MySQL et PostgreSQL. Pour développer un modèle de base de données, vous devez suivre quelques étapes simples et hériter d'un modèle de base à utiliser.
Il est possible d'exécuter Asynchronous queries dans les modèles de base de données.
Au lieu de configurer un conteneur Cron Docker à partir de zéro, nous présentons une solution prête à exécuter avec le système de sauvegarde de base de données automatique. Il vous permettra de sauvegarder les bases de données MySQL avec du temps configuré et des copies.
Le projet DUKTIG comprend un mécanisme de mise en cache de données simple à l'aide du serveur Redis. Pour le développement de l'API RESTful, il est possible de définir la mise en cache de contenu automatique dans la configuration de routage, sans écrire de ligne de code.
Les fonctions de validation régulières vous permettent de valider de nombreux types de données. Cependant, il est également possible de créer un tableau de règles de validation pour l'interface API RESTful et de valider un tableau / tableau JSON multidimensionnel à partir de la demande entrante. Cela vous permettra de créer une interface API rapidement et sécurisée.
Contrairement à certaines personnes, qui ont du mal à utiliser les variables d'environnement dans le conteneur Docker PHP-FPM, vous pouvez définir vos variables d'environnement dans le fichier .env et les utiliser directement dans votre code. C'est sûr, toutes les variables d'environnement définies dans Docker-Compose YAML File ou définies dans docker run .. La commande écrasera les valeurs précédemment définies dans le fichier.
Cela vous permettra de définir dynamiquement les variables d'environnement dans le temps de déploiement de Docker sans avoir de problèmes avec les données de configuration codées en dur.
Il existe un moyen de configurer et d'utiliser la clé d'accès sécurisée basée sur les en-têtes pour les demandes HTTP. Il s'agit d'un cas simple, lorsque nous devons protéger notre interface API RESTFul.
Cependant, le projet DUKTIG comprend la bibliothèque JWT (JSON Web Token) que vous pouvez utiliser pour développer une interface sécurisée pour votre API RESTFul.
Duktig signifie qualifié, capable ou travailleur - en suédois.
Dans des phrases comme OJ, Vad Duktig du är! (Wow, à quel point vous êtes qualifié!) C'est un compliment.
La version de Duktig définie avec trois nombres qui ressemblent à: xxx ie 1.3.8
| Premier numéro | Deuxième numéro | Troisième numéro |
|---|---|---|
| Révolution | Évolution | Correction de bogue |
Auteur: Duktig Solutions [email protected]
Idée de développement de projet du 04 avril 2019