Cree fácilmente la aplicación web Eggless basada en Serverless

gabriel-garcia-marengo-ht9aLtovtSo-unsplash.jpg

Primero, introduzca algunos de los conceptos más importantes que aparecen en este artículo:

Cálculo de funciones (Function Compute): el cálculo de funciones es un servicio controlado por eventos. Mediante el cálculo de funciones, los usuarios no necesitan administrar la operación del servidor y otras operaciones, solo escribir código y cargarlo. El cálculo de la función prepara los recursos informáticos y ejecuta el código de usuario de manera flexible, y los usuarios solo tienen que pagar en función de los recursos consumidos por la operación del código real. Más cálculo de la función de información de referencia .
Diversión: La diversión es una herramienta para admitir la implementación de aplicaciones sin servidor, que puede ayudarlo a administrar convenientemente la informática de funciones, la puerta de enlace API, el servicio de registro y otros recursos. Le ayuda en las operaciones de desarrollo, construcción e implementación a través de un archivo de configuración de recursos (template.yml). Más diversión documento de referencia .

Nota: La técnica descrita en este artículo requiere una versión divertida mayor o igual a 3.6.9.

¿Qué es Egg.js?

La descripción oficial de Egg.js es:

Egg.js nace para frameworks y aplicaciones de nivel empresarial. Esperamos que Egg.js genere más frameworks de nivel superior para ayudar a los equipos de desarrollo y desarrolladores a reducir los costos de desarrollo y mantenimiento.
Egg persigue "la convención es mejor que la configuración" y lleva a cabo el desarrollo de aplicaciones de acuerdo con un conjunto unificado de acuerdos. Este método puede reducir el costo de aprendizaje de los desarrolladores dentro del equipo. Los desarrolladores ya no son "clavos" y pueden fluir.
El mecanismo de complemento de Egg es altamente extensible, y un complemento solo hace una cosa. Egg agrega estos complementos a través del marco y personaliza la configuración de acuerdo con sus escenarios comerciales, de modo que el costo de desarrollo de la aplicación se vuelve muy bajo.

Características del huevo:

  • Proporcione la capacidad de personalizar el marco superior basado en Egg
  • Mecanismo de complemento altamente extensible
  • Gestión multiproceso incorporada
  • Basado en el desarrollo de Koa, excelente rendimiento
  • Marco estable y alta cobertura de prueba
  • Desarrollo progresivo

Vista previa del efecto de muestra

Después de la implementación de los ejemplos de aplicación involucrados en este artículo, haga clic en el efecto de vista previa:

Ejemplo de aplicación Egg.js: http://mtime.functioncompute.com/hot

Preparación ambiental

Primero instale Fun en la máquina de acuerdo con el método descrito en la documentación de instalación de Fun .

PD: El método descrito en este artículo no requiere la instalación de Docker, solo instale Fun. La forma más fácil es descargar directamente el archivo binario ejecutable.

Una vez completada la instalación, puede ejecutar fun --version para verificar si Fun se ha instalado correctamente.

Primer ejemplo: Inicialice e implemente rápidamente una aplicación de muestra Egg.js

Siga los pasos descritos en el documento oficial de inicio rápido en el siguiente orden.

Inicializar un ejemplo egg.js:

mkdir egg-example && cd egg-example
npm init egg --type=simple
npm i

Ejecute la muestra localmente para probar:

npm run dev

Luego puede visitar http://127.0.0.1:7001 en el navegador para ver el efecto.

Una vez que se completa el desarrollo local, puede usar directamente el siguiente comando para la implementación con un solo clic:

fun deploy -y 

Segundo ejemplo: migre rápidamente una aplicación Egg.js existente

Aquí tomamos una aplicación web de código abierto Egg.js como ejemplo: https://github.com/OrangeXC/mtime

Primero necesitamos clonar la aplicación:

git clone https://github.com/OrangeXC/mtime

Vaya al directorio mtime y use npm para instalar dependencias:

npm install

Inicie la aplicación localmente:

npm run dev

inicia local de una aplicación, utilice config/config.default.jsesta configuración, es necesario configurar la configuración del nombre de usuario de MySQL, contraseña y otras propiedades a los valores correctos antes de la aplicación se inicia.

Una vez completado el inicio, abra la URL http://127.0.0.1:7001 a través del navegador para obtener una vista previa del efecto.

Cuando se completa la prueba local, tenemos que considerar cómo implementarla en línea. Desplegados en la línea, la precedencia predeterminada Egg.js config/config.prod.jsconfigurado, podemos configurar la base de datos en línea de este archivo, por lo que se puede lograr el objetivo de desarrollo local y el despliegue en línea utilizando una base de datos diferente.

Por supuesto, también se puede comprobar en la configuración local es correcta, el uso directo npm run startse puede aplicar para producir un período previo, el uso npm run stoppuede ser aplicado a tope.

Por último, también es necesario modificar en virtud de caché Egg.js y directorio de registro, añadimos el siguiente a config/config.prod.jsla:

  config.rundir = '/tmp/run',
  config.logger = {
    dir: '/tmp/log',
  }

La configuración anterior significa que el caché y el registro de Egg.js se escriben en el directorio de escritura del cálculo de la función (también es posible la salida del registro a la consola).

Finalmente, utilizamos la implementación divertida con un solo clic:

fun deploy -y

Una vez completada la implementación, puede ver el nombre de dominio temporal 13500180-1986114430573743.test.functioncompute.com en la salida del terminal . Abra el nombre de dominio temporal a través del navegador para ver el mismo efecto que el tiempo de ejecución local.

Resumen

Este artículo presenta principalmente cómo implementar la aplicación Egg.js para el cálculo de funciones. En comparación con el método de implementación tradicional, no solo no es más complicado, sino que también omite los pasos de comprar máquinas, instalar y configurar Node, Npm. Se puede lograr. Después de que la aplicación tradicional Egg.js se desarrolle localmente, se puede implementar en el sitio remoto para la producción directa con un solo clic, y tiene las características de escalado elástico, pago por uso y operación y mantenimiento gratuitos.

Si encuentra problemas durante la migración de su aplicación, únase a nuestro grupo de dingding 11721331 para recibir comentarios.

" Alibaba Cloud Native se enfoca en microservicios, sin servidor, contenedores, Service Mesh y otros campos técnicos, enfocándose en tendencias tecnológicas populares nativas de la nube, prácticas nativas de aterrizaje a gran escala en la nube y siendo el círculo tecnológico que entiende mejor a los desarrolladores nativos de la nube".

Supongo que te gusta

Origin www.cnblogs.com/alisystemsoftware/p/12712331.html
Recomendado
Clasificación