rest - 如何为网关聚合模式配置 Kubernetes?
问题描述
我想配置一个网关来将多个单独的请求聚合成一个请求作为这个链接。但是,我的用例允许用户创建其他服务。
用户提交请求:
POST http://gatway_ip/cards/foo
示意图如下:
+------------------+ +-----------------+ +-----------------+
| | | | | |
| transactions | | User info | | dynamic info |
| | | | | |
+------------------+ +-----------------+ +-----------------+
| | |
+----------+ +--------+ |
| | |
| | |
+----v-----v---+ |
| | |
| /cards/foo <----------------------------+
| |
+--------------+
|
|
|
+
User
用户可以按需启动/停止动态信息。网关合并来自各种服务的 json 响应。例如:
交易:
{"amount": 4000}
用户信息:
{ "name": "foo" }
动态信息:
{ "wifeName": "bar" }
网关响应是:
{
"amount": 4000,
"name": "foo",
"wifeName": "bar"
}
我所知道的:
- Microsoft 网站上的示例解决方案定义了一个固定的后端。
- Kubernetes 入口只允许路由传入请求。
有动态后端网关聚合的解决方案吗?
已编辑
工作 1
nginx auto-reload参考NVIDIA配置,我们可以利用Kubernetes ConfigMap,步骤如下:
- 创建一个
backend.json
由 lua on 事件加载的配置init_by_lua*
(* 是块或文件) - 配置 ConfigMap
backend.json
并使用 inotify 来监控 ConfigMap 的变化 - 提供一个向 Kubernetes ConfigMap API 发送请求以供用户更改配置的 API。因此,nginx 网关将自动重新加载
但是,此链接声称 inotify 将不起作用,因为共享存储是一个熔断文件系统
解决方案
推荐阅读
- django-rest-framework - drf-spectacular:如何在 Swagger 的示例部分显示主键
- javascript - 如何使用jquery根据指定的高度获取最近的元素
- r - 基于数据帧子集中的多个参数计算新变量
- ios - 如何在 iOS 中使用从 Web 下载的 SVG?
- alacritty - 如何在启动时运行管道函数以实现 alacritty?
- sqlite - Octave:从 sqlite db 文件中读取 BLOB 数据
- python - 用熊猫将一列从一行中移一列
- python - 按时间顺序生成随机范围内的数字样本
- swiftui - 在实现视图样式模式时,有没有办法避免视图类型擦除?
- apache-kafka - Kafka多/两个节点设置与不同服务器/节点上的生产者和消费者