如果在过去 24 小时内未发出请求,为什么我的 google 云 运行 服务处于非活动状态?
Why is my google cloud run service inactive if requests not made in the last 24 hrs?
我有一个 google 云 运行 微服务,用 java spring 引导编写。如果服务在大约 24 小时内保持不活动状态,然后在该时间段之后收到请求,则服务需要花费太多时间来响应第一个请求。所有后续请求运行 顺利。检查云 运行 上的日志只告诉我 spring-boot 服务器已启动以处理请求。为什么它必须重新开始?为什么它不像普通后端服务器那样不断监听?
我的 Dockerfile:
FROM maven:3.6.3-openjdk-8 as builder
# Set the working directory.
WORKDIR /usr/src/mymaven
COPY ./ /usr/src/mymaven
RUN [ "mvn" , "clean" , "install" ]
FROM openjdk:8
COPY --from=builder /usr/src/mymaven/target /usr/src/myapp
WORKDIR /usr/src/myapp
CMD ["java", "-jar" , "Backend-0.0.1-SNAPSHOT.jar"]
由于(完全托管)云 运行 是一个无服务器平台,当请求不活跃时您无需付费 运行,它针对 actively serving requests. As such, it will idle/stop instances that aren't actively being used. Therefore, you need to build your service to start quickly(或容忍冷启动请求的更多延迟)如果它不会被频繁访问。
我有一个 google 云 运行 微服务,用 java spring 引导编写。如果服务在大约 24 小时内保持不活动状态,然后在该时间段之后收到请求,则服务需要花费太多时间来响应第一个请求。所有后续请求运行 顺利。检查云 运行 上的日志只告诉我 spring-boot 服务器已启动以处理请求。为什么它必须重新开始?为什么它不像普通后端服务器那样不断监听? 我的 Dockerfile:
FROM maven:3.6.3-openjdk-8 as builder
# Set the working directory.
WORKDIR /usr/src/mymaven
COPY ./ /usr/src/mymaven
RUN [ "mvn" , "clean" , "install" ]
FROM openjdk:8
COPY --from=builder /usr/src/mymaven/target /usr/src/myapp
WORKDIR /usr/src/myapp
CMD ["java", "-jar" , "Backend-0.0.1-SNAPSHOT.jar"]
由于(完全托管)云 运行 是一个无服务器平台,当请求不活跃时您无需付费 运行,它针对 actively serving requests. As such, it will idle/stop instances that aren't actively being used. Therefore, you need to build your service to start quickly(或容忍冷启动请求的更多延迟)如果它不会被频繁访问。