0

我们有一个现有的微服务环境,其中包含 logstash、config 和 eureka 服务器。我们现在正在设置一个 Spring Cloud Dataflow (Kubernetes) 环境(主要是为了运行任务/批处理作业)。

理想情况下,我们希望任务通过标准的 Spring Boot 配置(注释等)使用现有的 logstash、config 和 eureka 服务器来支持以下场景:

Logstash:当任务运行时,其日志会输出到 Logstash,并且可以从 Kibana 中查看

配置服务器:支持更改任务的配置属性。例如,可以通过更改配置服务器上的值来调整周期性任务的配置,下次任务运行时它将使用新值。我的理解是配置服务器属性将覆盖任务定义中的属性,这些属性会覆盖内部 application.properties 中的属性。

Eureka:每个任务都会在 Eureka 中注册自己。主要原因是我们的任务暴露了 Web 执行器端点,然后我们可以使用 Spring Boot Admin(可以通过 eureka 发现服务)在任务运行时访问执行器端点和信息。(我们的一些任务可能需要几个小时才能运行,这将使我们能够监控它们、调整日志记录等)

这是一种明智的方法吗?或者这里是否有任何潜在的问题需要注意(例如,使用尤里卡的短期任务)。我在现有的 Spring Cloud 数据流或 Spring Cloud 任务文档中找不到任何关于此的讨论。

4

1 回答 1

0

您可以尝试将 SCDF 与 ELK 堆栈集成的 logstash-logback-encoder。它适用于我们在 Yarn 流应用程序上的 SCDF。

Config Server 应该适用于任何 Spring Boot 应用程序。

于 2017-05-05T10:28:21.523 回答