Право, услуги и модули то же самое Обратите внимание на фактический путь URL-адреса внутри этой цитаты из App Engine Services as microservices:.
В проекте App Engine, вы можете использовать несколько microservices в отдельный services, ранее известный как модули в App Engine.
Namespaces поддерживаются just a few APIs, что услуги могут вызывать:
App Engine в настоящее время поддерживает пространства имен в следующих API:
Они действительно просто способ отдельных/среза (не складочном) данные, обслуживаемых это API, и могут помочь предотвратить случайные утечки данных через границу пространства имен. См. Например, Implementing Multitenancy Using Namespaces. Но обратите внимание, что защита только хороша, как и код приложения (данные будут протекать, если код устанавливает неправильное пространство имен).
Услуги не предоставляют изоляцию данных, они могут обмениваться данными независимо от того, находится ли они в пространстве имен или нет, путем надлежащего задания пространства имен при вызове соответствующего API. Таким образом, он не помещает данные в пространство имен, которое делает, что данные могут быть переданы через службы.
Границы проекта применяются к обоим пространствам имен и службам.Но можно настроить API и проекты, чтобы обеспечить доступ даже к границам проекта (или даже извне сети Google - см., Например, How do I use Google datastore for my web app which is NOT hosted in google app engine?)
Основная цель использования сервисов - получить изоляцию кода. Но это связано с ценой - каждая услуга имеет свои собственные экземпляры. Также немного сложнее: документы и даже инструменты часто немного отстают, многие из них предполагают контекст приложения GAE с одним сервисом.
Несмотря на то, что использование сервисов для создания среды предлагается в качестве альтернативы в Naming Developer Environments Я бы придерживался, как вы уже упоминаете, использования отдельных проектов для этого (также для изоляции данных).