我已成功在应用引擎中设置了一个应用。 现在我想部署2-3微服务和
阅读一些关于这个主题的文章,但我真正想要的是一个简单的教程。
https://cloud.google.com/appengine/docs/python/modules/converting
任何人都可以发布一个简单的文件结构来说明如何执行此操作:
但app.yaml究竟是什么?
如何准确地部署到每个微服务?
如何在微服务之间启用INTERNAL通信?我不希望直接向他们拨打外部电话,而是通过负载均衡器。
答案 0 :(得分:7)
要求教程是关于SO的主题;)
微服务可以轻松实现为services
(或modules
,因为它们曾经被调用过。)
此Q& A 可能有助于你的目录结构研究 - New project structure for Google App Engine
每个模块都有自己的.yaml
配置文件,其内容取决于模块应该执行的操作。传统上(单模块应用程序)文件名为app.yaml
,该名称实际上不是强制性的:Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?
每个模块将作为单独的实例运行。多模块应用程序中的部署是通过指定要部署到部署实用程序的模块的.yaml
文件来完成的。你在上面提到的帖子中有一个例子。
可以轻松实现模块间通信,例如使用任务队列。只能通过内部访问保护:GAE task, are the urls secure by design?
答案 1 :(得分:5)
到2018年,您可以在项目中创建多个服务。这些服务只不过是微服务。早些时候,GCP拥有微服务模块的概念。
例如:
GAE灵活的应用程序,app.yaml为
运行时:自定义
环境:flex
可以使用命令部署:
gcloud app deploy
此命令将启动服务为'default'的应用程序。它可以通过URL访问 - > http://your-project-id.appspot.com
您可以在Google Cloud Console上验证这一点。按照导航器链接App Engine - >服务
同样,您可以使用app.yaml作为(附加参数 - 服务)在同一项目中启动另一项服务
运行时:自定义
环境:flex
service:your-service-id
可以使用相同的命令再次部署它:
gcloud app deploy
这将启动一个服务ID为your-service-id的新应用程序。可以通过网址http://your-service-id-dot-your-project-id.appspot.com或http://your-service-id.our-project-id.appspot.com
访问该服务按照相同的方法在同一个项目中创建更多服务。每个服务都是一个应用程序,它有自己的app.yaml