如何监控 SCDF 内部的流媒体应用程序?
How to monitor streaming apps Inside SCDF?
我是 Spring 云数据流和流云流应用程序的新手。
目前我的项目图如下所示:
我使用 zuul API 网关将来自外部客户端的 POST 请求路由到名为 Composite 的微服务。 Composite 使用 REST POST 创建流并部署到 Spring 云数据流服务器。据我所知,微服务 mongodb 和文件 运行 作为共存的 JVM 进程。如果我的客户端必须知道流的状态,处理数据的状态,复合微服务应该如何与 Spring 云数据流服务器交互?目前,当我调用 POST 来部署流时,我什至没有从 SCDF 服务器获得状态。 SCDF 是否公开任何钩子来查看各个应用程序?另外,如何更改流 @运行time 以创建动态网格?
目前我正在使用本地Spring云数据流服务器进行开发。
Runtime platform is local
Local
运行建议时间 仅 用于开发目的,如果您准备生产,请确保选择平台变体( 例如:cf, k8s, yarn, ..) 附带非功能性要求以支持流管道中所有应用程序 运行ning 的可靠和持久执行。
As far as I know the microservices mongodb and file run as co-existing JVM processes.
如果您的流定义是 file | mongodb
,即使使用 Local
运行 时间,您也会有 2 个不同的 JVM。它们是独立的启动应用程序。
How should Composite Microservice interact with Spring Cloud Data Flow Server?
这里的 "composite" 不清楚你的意思。 SCDF 中的所有微服务应用程序都通过 Kafka 或 Rabbit 等消息中间件进行通信。 SCDF 为 运行 此类应用程序提供编排功能,使其进入各种 运行 时间平台。
Currently when I make POST call to deploy the stream I dont even get the status from SCDF Server
您可以使用 SCDF 的 REST-API 查询应用程序的当前状态,它与平台无关。您可以通过点击根目录 URL 查看支持的 API 列表( 见下图 )——文档中存在漏洞——我们会修复它。以下 API 可用于状态检查。
Does SCDF expose any hooks to look at the individual apps?
在 运行time 平台中部署应用程序后,您可以利用 Boot 的执行器端点来探索更多详细信息,例如 trace
、metrics
、health
, env
等在每个应用程序级别。有关详细信息,请参阅引导的 actuator endpoints。例如,如果您的 mongodb
应用程序 运行 在本地和端口 23000
上运行,那么您可以在 http://localhost:23000/metrics
.
检查此应用程序的详细指标
[仅供参考:未来的 SCDF 版本将包括集成 Spring Boot + Spring Cloud Sleuth 指标和相同的视觉表示。]
Also how can I change the flow @runtime to create a dynamic mesh?
如果您指的是使用 addition/deletes 编辑 运行ning 流式传输管道,我们目前正在探索支持此功能的设计方法。
我是 Spring 云数据流和流云流应用程序的新手。 目前我的项目图如下所示:
我使用 zuul API 网关将来自外部客户端的 POST 请求路由到名为 Composite 的微服务。 Composite 使用 REST POST 创建流并部署到 Spring 云数据流服务器。据我所知,微服务 mongodb 和文件 运行 作为共存的 JVM 进程。如果我的客户端必须知道流的状态,处理数据的状态,复合微服务应该如何与 Spring 云数据流服务器交互?目前,当我调用 POST 来部署流时,我什至没有从 SCDF 服务器获得状态。 SCDF 是否公开任何钩子来查看各个应用程序?另外,如何更改流 @运行time 以创建动态网格?
目前我正在使用本地Spring云数据流服务器进行开发。
Runtime platform is local
Local
运行建议时间 仅 用于开发目的,如果您准备生产,请确保选择平台变体( 例如:cf, k8s, yarn, ..) 附带非功能性要求以支持流管道中所有应用程序 运行ning 的可靠和持久执行。
As far as I know the microservices mongodb and file run as co-existing JVM processes.
如果您的流定义是 file | mongodb
,即使使用 Local
运行 时间,您也会有 2 个不同的 JVM。它们是独立的启动应用程序。
How should Composite Microservice interact with Spring Cloud Data Flow Server?
这里的 "composite" 不清楚你的意思。 SCDF 中的所有微服务应用程序都通过 Kafka 或 Rabbit 等消息中间件进行通信。 SCDF 为 运行 此类应用程序提供编排功能,使其进入各种 运行 时间平台。
Currently when I make POST call to deploy the stream I dont even get the status from SCDF Server
您可以使用 SCDF 的 REST-API 查询应用程序的当前状态,它与平台无关。您可以通过点击根目录 URL 查看支持的 API 列表( 见下图 )——文档中存在漏洞——我们会修复它。以下 API 可用于状态检查。
Does SCDF expose any hooks to look at the individual apps?
在 运行time 平台中部署应用程序后,您可以利用 Boot 的执行器端点来探索更多详细信息,例如 trace
、metrics
、health
, env
等在每个应用程序级别。有关详细信息,请参阅引导的 actuator endpoints。例如,如果您的 mongodb
应用程序 运行 在本地和端口 23000
上运行,那么您可以在 http://localhost:23000/metrics
.
[仅供参考:未来的 SCDF 版本将包括集成 Spring Boot + Spring Cloud Sleuth 指标和相同的视觉表示。]
Also how can I change the flow @runtime to create a dynamic mesh?
如果您指的是使用 addition/deletes 编辑 运行ning 流式传输管道,我们目前正在探索支持此功能的设计方法。