首页 > 解决方案 > 谷歌应用引擎中的反应式 REST (webflux):如何部署?

问题描述

我有一个使用 springboot webflux 的 REACTIVE-rest 应用程序。使用码头作为后端。

如何通过 Appengine 公开通量和单声道休息端点?有没有办法做到这一点?

google appengine 是否支持其自己的基于响应式 Java 的 API 端点?

在此处输入图像描述

标签: google-app-enginegoogle-cloud-platformspring-webfluxreactive

解决方案


只需按照您通常部署应用程序的方式部署它。应用引擎只是托管的 kubernetes。因此,为您提供的不是服装运行时,而是操作系统(来自 Google 的一些轻量级 Linux 版本。)和扩展能力、网络、安全性。

反应性休息部分来自两件事:

1 号操作系统(任何操作系统,windows 也这样做)如何进行 I/O 操作(从套接字写入/写入,从磁盘读取/写入等)并且它们本质上是异步的。

第二,java 如何与 I/O 交互。在 Java 7 出来之前,它们被 Java Runtime 人为地阻止了。Java 7 引入了 NIO(非阻塞 I/O)。这使 java 程序员能够通过 select() 和 poll() 方法与 I/O 多路复用器进行交互。

像 netty 这样的服务器正在使用该 API 来停止每个请求模型的一个线程,这是扩展的瓶颈。不过你必须小心,因为 Tomcat 仍然使用旧方法。这就是为什么 spring-webflux 项目的默认 http 服务器是 netty 而 spring-mvc 是 tomcat。

如果您将应用程序部署到任何支持 NIO 的操作系统,那么底线应用程序引擎不会发生任何变化。


推荐阅读