【问题标题】:How to monitor streaming apps Inside SCDF?如何在 SCDF 中监控流媒体应用程序?
【发布时间】:2016-12-18 03:52:46
【问题描述】:

我是 Spring Cloud Data flow 和 Stream Cloud Streaming Applications 的新手。 目前我的项目图如下所示:

我使用 zuul API 网关将来自外部客户端的 POST 请求路由到名为 Composite 的微服务。 Composite 使用 REST POST 创建流并部署到 Spring Cloud Data Flow Server。据我所知,微服务 mongodb 和文件作为共存的 JVM 进程运行。如果我的客户端必须知道流的状态,处理数据的状态,复合微服务应该如何与 Spring Cloud Data Flow Server 交互?目前,当我进行 POST 调用以部署流时,我什至没有从 SCDF 服务器获得状态。 SCDF 是否公开任何挂钩来查看单个应用程序?另外,如何更改流@runtime 以创建动态网格?

目前我正在使用本地 Spring Cloud Data Flow Server 进行开发。

【问题讨论】:

  • 感谢图表!您能否详细说明您正在使用哪个运行时平台(例如:cf、yarn、..)以及 SCDF 版本?
  • 运行时平台是本地的@SabbyAnandan

标签: spring spring-cloud-stream spring-cloud-dataflow


【解决方案1】:

运行时平台是本地的

Local runtime 建议用于开发目的,如果您正在准备生产,请确保选择平台变体(例如:cf、k8s、yarn、. .) 附带非功能性要求,以支持在流式管道中运行的所有应用程序的可靠和持久执行。

据我所知,微服务 mongodb 和文件作为共存的 JVM 进程运行。

如果您的流定义是 file | mongodb,即使使用 Local 运行时,您也会有 2 个不同的 JVM。它们是独立的引导应用程序。

Composite Microservice 应该如何与 Spring Cloud Data Flow Server 交互?

不清楚这里的“复合”是什么意思。 SCDF 中的所有微服务应用程序都通过消息中间件(如 Kafka 或 Rabbit)进行通信。 SCDF 提供了将此类应用程序运行到各种运行时平台的编排功能。

目前,当我进行 POST 调用以部署流时,我什至没有从 SCDF 服务器获得状态

您可以使用 SCDF 的 REST-API 来查询应用程序的当前状态,它与平台无关。您可以通过点击根 URL 来查看支持的 API 列表(见下图) - 文档中存在空白 - 我们将修复它。以下 API 可用于状态检查。

SCDF 是否公开任何挂钩来查看单个应用程序?

在运行时平台中部署应用后,您可以利用 Boot 的执行器端点在每个应用程序级别探索更多详细信息,例如 tracemetricshealthenv 等。有关详细信息,请参阅 Boot 的 actuator endpoints。例如,如果您的mongodb 应用程序在本地运行并在端口23000 上运行,那么您可以在http://localhost:23000/metrics 上查看此应用程序的详细指标。

[仅供参考:未来的 SCDF 版本将包括集成 Spring Boot + Spring Cloud Sleuth 指标及其可视化表示。]

另外,我如何更改流@runtime 以创建动态网格?

如果您指的是通过添加/删除来编辑正在运行的流式传输管道,我们目前正在探索支持此功能的设计方法。

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 2012-05-10
    相关资源
    最近更新 更多