google-app-engine - 谷歌应用引擎中的反应式 REST (webflux):如何部署?
问题描述
我有一个使用 springboot webflux 的 REACTIVE-rest 应用程序。使用码头作为后端。
如何通过 Appengine 公开通量和单声道休息端点?有没有办法做到这一点?
google appengine 是否支持其自己的基于响应式 Java 的 API 端点?
解决方案
只需按照您通常部署应用程序的方式部署它。应用引擎只是托管的 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 的操作系统,那么底线应用程序引擎不会发生任何变化。
推荐阅读
- python - 如何解决通过正则表达式获取字符串的“将字符串转换为浮点数时出错”?
- sql - Where...IN 条件中的 SQL 多个 ID 列
- labview - 我需要帮助更改连接到伺服电机的 LabVIEW 读取 VI 的数据采集速率
- list - Flutter 可以创建 AnimationController 列表吗?
- excel - 获取范围内最后一个非空单元格的列号(如果值不唯一)
- javascript - Next.js/React - 如何从 Apollo 客户端 HOC 普遍解析用户语言?
- security - 如何为您不信任的特定 vscode 扩展禁用 Internet 访问
- visual-studio-code - VSCode Rest客户端 - 如何将变量设置为变量
- xpages - XPages 百分比字段
- c - 代码从 C 中的文本文件中读取几行