Seldon Core中实现类似Flask redirect URL跳转功能的方案咨询
Seldon Core实现URL跳转的可行方案
Seldon Core本身作为模型服务框架原生不直接提供跳转API,但可以通过以下3种方案实现和原有Flask redirect API完全一致的跳转效果,适配Kibana仪表板的调用需求:
- 方案1:复用原有逻辑的最小改造方案:自定义HTTP代理层
你可以在Seldon Core预测服务前新增一个极轻量的HTTP代理服务,接收Kibana侧的跳转请求,调用Seldon预测接口完成业务逻辑处理后,直接返回302/301跳转响应,将处理后的参数拼接至目标Kibana URL中。该方案不需要修改Kibana侧的原有交互逻辑,仅需要将Kibana中配置的链接地址从原有Flask地址替换为代理服务地址即可。 - 方案2:无额外服务的实现方案:自定义Seldon响应
如果你使用自定义代码打包Seldon服务镜像,可以直接在模型服务的接口逻辑中控制返回值:处理完预测逻辑后,直接返回3xx类型的HTTP响应,在Location头中填入目标跳转URL即可。Seldon的服务网关会原样透传该响应给调用方,效果和原有Flask的redirect接口完全一致,不需要额外维护其他服务。 - 方案3:Kibana侧轻量适配方案:自定义响应头跳转
你可以在Seldon预测接口的响应头中增加自定义字段X-Redirect-Url存入目标跳转地址,同时返回约定的自定义状态码,在Kibana侧为相关链接增加极简的点击事件处理逻辑,识别到该响应头时自动执行页面跳转即可。该方案适合不方便改造Seldon服务返回结构的场景。
注意事项:如果你的Seldon Core集群配置了Ingress网关或者Istio流量治理,需要确认网关策略没有禁用3xx响应的透传,默认配置下均支持透传,无需额外调整。
内容的提问来源于stack exchange,提问作者user3497321
相关产品推荐
相关产品推荐

