Ejecutar la aplicación Google App Engine con microservicio

Tengo una aplicación de un solo monolito, ¡y ahora es el momento de separar algunos módulos para micro servicios! Leí mucho sobre pub / sub y microservicios en Google docs, pero no puedo encontrar respuestas a mis preguntas:

  1. ¿Cómo se ve el archivo app.yaml para mi módulo (microservicio)?
  2. ¿Cómo se ve app.yaml para mi aplicación? (Quiero decir, con microservicio)
  3. ¿Dónde necesito declarar este módulo, en la aplicación app.yaml o en ambos app.yaml?
  4. ¿Cómo puedo usar un solo almacén de datos con mi aplicación y mi módulo?

Mi app.yaml ahora se ve como:

application: my-application version: 1 runtime: python27 api_version: 1 threadsafe: true 

Con algunas credenciales y libs.

Esperando tus respuestas!

Una aplicación monolítica es realmente una aplicación con un único módulo / servicio (el predeterminado). La configuración app.yaml para dicha aplicación (como la que se muestra) es realmente el archivo de configuración del módulo predeterminado: no hay ninguna configuración “per-app” por ejemplo. Los módulos están “unidos” en una aplicación específica por esta línea en su respectivo .yaml :

 application:  

En una aplicación de múltiples módulos, cada módulo tiene su propio .yaml config file (el nombre no tiene que ser app.yaml , en realidad tiene que ser diferente si el código del módulo comparte el mismo directorio, pero yo atenerse a la estructura de directorios recomendada (un módulo por subdirectorio de la aplicación).

Consulte esta sección de preguntas y respuestas (que también contiene algunos ejemplos): ¿Puede un servicio / módulo predeterminado en una aplicación de Google App Engine ser hermano de uno no predeterminado en términos de estructura de carpetas?

El nombre predeterminado del módulo no se puede establecer. Todos los demás nombres de módulos se configuran en los respectivos archivos .yaml , de esta forma:

 module:  

Todos los módulos en la misma aplicación comparten el mismo almacén de datos (por lo tanto, el mismo archivo index.html ).

Tenga en cuenta que otros archivos de configuración también son configuraciones de nivel de aplicación, por lo tanto, realmente son compartidos por todos los módulos (o simplemente el módulo predeterminado, que es el que ejecuta el servicio cron, por ejemplo), los ubicaría como se recomienda en el nivel superior de la aplicación dir: cron.yaml , dispatch.yaml , queue.yaml .