我在App Engine项目中有两个服务。服务A最少有1个实例。服务B扩展到0。我希望当服务A收到请求时,让服务B接收预热请求,或者以某种方式启动。这是因为web应用程序的用户将主要与服务A交互,而服务B只执行几个繁重的提升任务,而这些任务在所有时间都是昂贵的。但是,当用户处于活动状态时,我希望服务B准备就绪。
换句话说,我需要服务B有一个空闲实例,只有当服务A最近被使用时才可用。有没有办法做到这一点?
发布于 2020-07-10 23:06:37
最简单的方法是只使用dispatch.yaml
https://cloud.google.com/appengine/docs/standard/python/reference/dispatch-yaml
然后,在服务A中创建一个@before_request处理程序(这是一个Flask处理程序),并让它ping服务B的预热url。
您还可以为每个服务创建单独的yaml文件,并在serviceB.yaml (而不是serviceA.yaml)中拥有所需的url处理程序。
https://cloud.google.com/appengine/docs/standard/python3/configuration-files
提示:确保使用gcloud deploy部署每个新创建的yaml文件
https://stackoverflow.com/questions/62833804
复制相似问题