问题:当spring准备好处理流量时,spring或其嵌入式servlet容器中是否有打开端口的选项?
情况:在当前的设置中,我使用了一个在google cloud run中运行的spring boot应用程序。
情况:
>
Cloud run不支持liveness/Readynes探测,它将开放端口视为“应用程序就绪”。
Cloud run将请求发送到容器,尽管spring尚未准备好处理请求。
Spring启动其servlet容器,打开其端口,同时仍然旋转其豆子。
问题:未编写应用程序的流量将导致大量http 429状态代码。
这会影响:
我的愿望:
>
将spring/servlet容器配置为在应用程序实际准备就绪时延迟打开端口。将打开端口延迟到应用程序准备就绪时将减轻很多痛苦,同时不会对现有代码库造成太多干扰。
有没有不会造成太多痛苦的替代方案?
我发现并认为不可行的事情
>
使用本机映像不是一种选择,因为它被认为是实验性的,并且在编译时消耗的RAM比我们的部署管道代理允许分配的要多(最大8GB与所需的13GB)
我发现的另一个答案是:谷歌云运行的准备情况检查-如何?我看不出它如何满足我的需求,因为Spring启动的启动时间仍然很慢。这就是为什么我最初的想法是推迟打开端口
我没有时间测试以下内容,但我偶然发现了一件事
云运行
支持任何类型的探测器之前,它似乎是可行的。您很清楚“Cloud Run目前没有就绪/活动性检查来避免向未就绪的应用程序发送请求”,我想说的是,在Cloud Run方面除了以下几点之外,没有什么可以做的:
这个问题似乎更具体地针对Spring Boot,我发现了一篇具有类似要求的文章。然而,如果您绝对需要该应用程序在收到请求时随时可用,我们有另一种云运行的替代方案,即谷歌Kubernetes引擎(GKE),它利用就绪/活跃度探测。
问题内容: 我需要获取机器上所有打开的端口以及打开它们的应用程序的列表。我需要以编程方式获取此信息。 谢谢。 问题答案: 我希望能有一个更聪明的答案。我只是这样做(用Python编程),试图重写一个名为NetHogs的程序。我的版本在这里,特别是这里是Python中用于从中解析表的模块。如果您不是精通Python的人(请学习它),那么请看一下原始的NetHogs,它使用了C / C ++的混合(阅
我希望我的 Quarkus 应用程序在默认端口以外的端口上运行。我怎样才能做到这一点?
问题内容: 如何配置Spring Boot应用程序侦听的TCP / IP端口,因此它不使用默认端口8080。 问题答案: 正如在所述的文档任一组使用命令行选项来JVM中的系统属性-或添加在与 对于随机端口使用
关于Android M上的粒度权限。 如果用户两次拒绝权限请求, 或者用户标记“不再询问”。
问题内容: 如何配置Spring Boot应用程序侦听的TCP / IP端口,因此它不使用默认端口8080。 问题答案: 正如在所述的文档任一组使用命令行选项来JVM中的系统属性或添加在与 对于随机端口使用
null 非常感谢你的帮助