Run Google App Engine application with microservice

后端 未结 1 532
失恋的感觉
失恋的感觉 2021-01-03 10:34

I have a one big monolith application, and now its time to separate some modules to micro services! I read a lot about pub/sub and microservices in Google docs, but can\'t f

相关标签:
1条回答
  • 2021-01-03 10:41

    A monolithic app is really an app with a single module/service (the default one). The app.yaml config for such app (like the one you shown) is really the default module's config file - there is no "per-app" such config. The modules are "tied" together into one specific app by this line in their respective <module>.yaml:

    application: <app_identifier>
    

    In a multi-module app each module has its own <module>.yaml config file (the name doesn't have to be app.yaml, it actually has to be different if the module code share the same dir - but I'd stick with the recommended directory structure - one module per app subdirectory).

    See this Q&A (which also contains some examples): Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?

    The default module name can/should not be set. All other module names are configured in the respective <module>.yaml files, like this:

    module: <module_name>
    

    All modules in the same app share the same datastore (thus the same index.html file).

    Note that other config files are also app-level configs, thus really shared by all modules (or just the default module, which is the one executing the cron service, for example), I'd place them as recommended in the app's top level dir: cron.yaml, dispatch.yaml, queue.yaml.

    0 讨论(0)
提交回复
热议问题