
Duktig PHP Framework es amigable con Docker, rápido y liviano, especialmente escrito para el desarrollo de microservicios
Implemente este proyecto en su entorno local con Docker-Compose , desarrolle algunas características y cree una imagen Docker.
Todas las preparaciones de imágenes de Docker para la implementación del entorno local ya están incluidos en el directorio docker-deployment .
git clone https://github.com/duktig-solutions/Duktig-microservice-php.git
cd Duktig-microservice-php/docker-deployment
docker-compose up -dDespués de una implementación exitosa, verifiquemos la accesibilidad:
curl --request GET --url http://localhost:8088/system/ping Deberías ver: respuesta pong ;)
¡Eso es todo! Ahora puede leer ejemplos y tutoriales para futuros pasos.
Implemente el proyecto en su entorno local con solo un comando. Toda la preparación de imágenes de Docker de terceros requeridas ya está incluida y configurada, como bases de datos, servidor web, etc.
Incluye ejemplos de código agradables y muy bien comentados a seguir.
Estos ejemplos incluyen desarrollo de API RESTful, CRUD, validación de datos, acceso a la base de datos, herramientas de línea de comandos, mensajes/cola, publicación/suscripción y muchos más ...
Pasos muy fáciles para desarrollar un servicio API RESTful, que incluye: ruta, middleware, controlador, modelo y respuesta JSON final.
También se incluye el mecanismo de almacenamiento en caché de datos de Redis. Es posible configurar una ruta con almacenamiento en caché automático para la respuesta.
Cree herramientas de línea de comandos solo en minutos, utilizando el enrutamiento y el desarrollo del controlador.
Las suscripciones de eventos, los trabajadores de la cola de mensajes y otras herramientas funcionan en el entorno de línea de comandos.
La imagen de Cron Docker con ejemplos también incluidos en este proyecto.
El proyecto Duktig incluye la funcionalidad de publicación y suscripción que es posible usar en diferentes escenarios.
El propósito general de esta funcionalidad es la comunicación entre servicios, donde cada servicio de línea de comandos puede suscribirse para obtener mensajes de otros servicios.
La funcionalidad MQ permite desarrollar trabajadores y crear tareas para ellos. El consumidor puede recibir tareas y dividirse en trabajadores para procesar.
Una vez que una tarea termina con Fail, puede repetirse hasta que se configure la cantidad de mosaico.
La principal diferencia entre Publish/Subscribe y Message/Queue es que muchos suscriptores pueden recibir mensajes publicados por un servicio, cuando las tareas Message/Queue son únicos para cada servicio. El mensaje/tarea puede ser recibido y procesado por un solo trabajador a la vez.
Una vez que hablamos sobre el desarrollo de microservicios, tiene sentido tener una arquitectura agradable y fácil impulsada por eventos. Como se mencionó anteriormente, ya tenemos un sistema Publish/Subscribe de mecanismo de publicación de Eventos.
Con Duktig Framework, es posible publicar eventos y suscribirse para ellos usando Redis. Lo que tiene que hacer es utilizar las bibliotecas de pub/submarinas ya desarrolladas.
Duktig Framework incluye bibliotecas de bases de datos para MySQL y PostgreSQL. Para desarrollar un modelo de base de datos, debe seguir algunos pasos simples y heredar un modelo base para usar.
Existe la posibilidad de ejecutar Asynchronous queries en los modelos de bases de datos.
En lugar de configurar un contenedor CRON Docker desde cero, presentamos una solución lista para ejecutar con un sistema de copia de seguridad de la base de datos automática. Le permitirá hacer una copia de seguridad de las bases de datos MySQL con tiempo y copias configuradas.
El proyecto DUKTIG incluye un mecanismo de almacenamiento en caché de datos simple utilizando el servidor Redis. Para el desarrollo de API RESTful, es posible establecer el almacenamiento en caché de contenido automático en la configuración de enrutamiento, sin escribir ninguna línea de código.
Las funciones de validación regulares le permiten validar muchos tipos de datos. Sin embargo, también es posible hacer una variedad de reglas de validación para la interfaz API RESTful y validar una solicitud/matriz JSON multidimensional desde la solicitud entrante. Esto le permitirá construir la interfaz API de manera rápida y segura.
A diferencia de algunas personas, que tienen problemas para usar las variables de entorno en el contenedor PHP-FPM Docker, puede definir sus variables de entorno en el archivo .env y usarlas directamente en su código. Por supuesto, todas las variables de entorno definidas en el archivo YAML de Docker-compuesto o definidas en docker run .. El comando sobrescribirá los valores definidos previamente en el archivo.
Esto le permitirá definir dinámicamente las variables de entorno en el tiempo de implementación de Docker sin tener problemas con los datos de configuración codificados.
Hay una forma de configurar y usar la clave de acceso seguro basada en encabezados para solicitudes HTTP. Este es un caso simple, cuando tenemos que proteger nuestra interfaz API RESTful.
Sin embargo, el proyecto DUKTIG incluye la biblioteca JWT (JSON Web Token) que puede usar para desarrollar una interfaz segura para su API RESTful.
Duktig significa hábil, capaz o trabajador, en sueco.
¡En frases como OJ, Vad Duktig du är! (¡Guau, cuán hábil eres!) Es un cumplido.
La versión en Duktig definida con tres números que se ven como: xxx IE 1.3.8
| Primer número | Segundo número | Tercer número |
|---|---|---|
| Revolución | Evolución | Corrección de errores |
Autor: Duktig Solutions [email protected]
Idea de desarrollo de proyectos del 04 de abril de 2019