- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个 Spring Boot 服务可以在本地完美运行,但它们会在 Google App Engine Flexible 上随机重启。这些服务在 Spring Boot 库的帮助下使用 Google Cloud SQL 和 Pub/Sub。
当我部署服务时,它们工作正常,但过了一段时间后,它们会被 App Engine 重新启动。我将它们连接到 Spring Boot admin 的一个实例,我在堆或磁盘空间或其中任何一个中都看不到任何奇怪的东西。有时他们会在几个小时后重新启动,有时会更快。
我尝试将日志记录添加到跟踪日志记录中,似乎服务重启得更快。
我还注意到健康检查被调用了很多次,尽管健康检查的默认配置说它应该是 5 分钟,并且有几次连续健康检查失败 google app yaml config .但我从未在日志中看到任何失败的健康检查。
我看到的是健康检查进展顺利(200 条回复),然后突然停止记录,几分钟后我看到
Start command: java -showversion -agentpath:/opt/cdbg/cdbg_java_agent.so=--log_dir
这意味着应用引擎正在尝试再次启动该应用。
app.yaml 看起来像:
运行时:Java
环境:弹性
服务:x服务
资源:
内存_gb:1.0
自动缩放:
min_num_instances:1
max_num_instances:2
环境变量:
SPRING_PROFILES_ACTIVE:“开发”
liveness_check:
路径:“/执行器/健康”
就绪检查:
路径:“/执行器/健康”
最佳答案
所以在做了一些研究之后,我可能会对你的问题有所帮助。
I also noticed that the healthcheck gets called a lot, even though the default configuration of the healthcheck says it should be 5 mins and a couple of failed consecutive healthchecks google app yaml config. But I never see any failed healthchecks in the logs.
这是正常行为,因为 Google 有多余的健康检查器:
"健康检查频率
为确保高可用性,App Engine 为每个运行状况检查器创建了冗余副本。如果健康检查器失败,冗余的检查器可以立即接管。
如果您检查应用程序的 nginx.health_check 日志,您可能会发现运行状况检查轮询发生的频率比您配置的要高,这是因为冗余的运行状况检查程序也遵循您的设置。这些冗余健康检查程序是自动创建的,您无法配置它们。”
I have a couple of Spring Boot services that work perfectly locally but they restart after random time on Google App Engine Flexible. These services use google Cloud SQL and Pub/Sub with help of the Spring Boot libraries.
When I deploy the services they work fine, but after a while they get restarted by App Engine. I hooked them up to an instance of Spring Boot admin and I can't see anything strange in the heap or disk space or any of these. Sometimes they reboot after a few hours, sometimes faster.
看看 GAE 管理实例的方式,只要您的应用程序持续响应请求,这可能是一种正常行为。通过使用 automatic_scaling
,您可以定义动态实例。动态实例根据它们接收的负载打开/关闭。所以,您可能会看到自动缩放在起作用。转到 2 个实例,然后返回到一个实例,依此类推。
我会邀请您通过将 target_utilization
的默认阈值增加到类似 0.9
的值来测试它,看看它是否经常扩展。或者只是使用 manual_scaling
所以你只有常驻实例。进行测试的原因是,您看到的日志可能是应用引擎实例管理的预期行为。由于您的应用程序对健康检查和准备情况的响应正常,并且您提到内存利用率没有显示出任何异常,那么除了自动缩放功能之外,我想不出任何其他可能导致这种情况的原因。
希望对您有所帮助!
来源:
https://cloud.google.com/appengine/docs/flexible/java/reference/app-yaml https://cloud.google.com/appengine/docs/flexible/custom-runtimes/configuring-your-app-with-app-yaml https://cloud.google.com/appengine/docs/flexible/java/how-instances-are-managed
关于spring-boot - Spring Boot 应用程序在 App Engine Flexible 上不断重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53190776/
Google Cloud Compute 中的 Google Compute Engine、App Engine 和 Container Engine 之间的实际区别是什么?什么时候使用什么? 有什么
我有一个在 Google App Engine 中运行的应用程序,它访问在 Google Compute Engine 中的机器上运行的服务。 Google App Engine 应用程序是该服务唯一
我们正在谷歌云中构建一个应用程序。我们使用 App Engine 作为前端,使用 Compute Engine 作为后端。在这些 Compute Engine 实例上,我正在运行一个接受特定“命令”消
我有一个现有的 GAE 应用程序(我们称之为应用程序 A)正在运行的情况,但由于非技术原因无法修改。当用户迁移到新的客户端版本时,我们需要将他们的数据从应用程序 A 迁移到新的 GAE 应用程序(我称
我正在尝试发现 App Engine 上的其他已部署服务。类似于 this文章建议。 我的代码是这样的: import ( "fmt" "net/http" "google.g
我想在我的网站上为“图像处理”事件设置服务器。如果我在 GCE 中使用“n1-standard-1”实例,GAE 中的可比功率是多少?是因为我算错了,还是同一个功率两者价格相差很大? 最佳答案 按小时
我在 Googl Compute Engine 和 Google App Engine 标准环境中的应用程序中创建了一个 VM 实例。我打算在 App Engine 中使用我的应用程序,在 Compu
我像往常一样使用 appcfg.py 更新我的应用程序,但收到一条错误消息。我试过 appcfg.py 回滚,两次尝试之间等了十分钟,但我仍然收到相同的错误消息。我该怎么办? 无法对 apps/dev
我想在 Google Compute Engine 上放置一个 Redis 服务器,并通过 AppEngine 的套接字支持与其对话。唯一的问题是似乎没有特定的防火墙规则说“此 AppEngine 应
我想知道 App Engine 和 Compute Engine 之间有什么区别。任何人都可以向我解释其中的区别吗? 最佳答案 App Engine 是一种平台即服务。这意味着您只需部署代码,平台会为
我正在编写一个在 App Engine 的 Go 运行时上运行的 Go 应用程序。 我注意到几乎所有使用 App Engine 服务(例如 Datastore、Mail 甚至 Capabilities
是否有人有在 Grid Engine/Sun Grid Engine/Son of Grid Engine 上运行 Docker 的经验,并且能够 monitor the resource used
我读了很多论坛,因为 grails app-engine 插件多年来没有更新,所以不可能将 grails 应用程序部署到谷歌应用程序引擎。当我准备放弃时,我发现使用 intellij 部署项目是可能的
当前设置, 运行 Windows Server 2012 (GCE Server 2012) 的谷歌计算引擎 运行 Debian Wheezy(GCE 服务器 Wheezy)的 Google 计算引擎
特定于基于 Docker 的部署,这两者之间有什么区别?由于 Google App Engine Flexible 现在也支持基于 Dockerfile 的部署,并且它也是完全托管的服务,因此它似乎比
我相信 Google Kubernetes Engine (GKE) 在 Google Compute Engine (GCE) 上运行。那么,在服务器管理方面使用 Google Kubernetes
TLDR;关于这个问题有任何更新吗? Google App Engine communicate with Compute Engine over internal network -- 是否可以在同
我正在尝试使用 Go SDK 为 App Engine 编写应用程序,但它似乎与单元测试有一种有趣的关系。人有written libraries左右this original, outdated一组工
在 App Engine 中,我想对在同一个 Google 云项目中创建的 Compute Engine 实例上运行的网络服务器进行 http fetch 调用,我想知道是否可以在不启用的情况下对实例
在编写 Go App Engine 标准应用程序时,过去的情况是您必须使用 App Engine SDK访问数据存储。然而,最近(从 Go 1.11 开始?),如果你只使用 Cloud Datasto
我是一名优秀的程序员,十分优秀!