如何可视化跨应用 Spring 集成流程?

How to get a visualization of cross-app Spring Integration flow?

我们有一个微服务架构,即我们系统的每个主要组件都被设计为 运行 作为一个单独的 Java 应用程序(jar 或 war)。

我们使用 Spring 集成来促进组件之间的通信(通过 MQ 服务)。

如果每个组件都有自己的 Spring 集成 XML 配置,我们如何获得系统的整个集成层的图形图?

请注意,我们知道如何在单个应用程序中执行此操作。问题是如何做到跨应用。

示例: 组件 1 生成 POJO 流 -> MQ -> 组件 2 将 POJO 对象图序列化为 JSON -> MQ -> 组件 3 将 JSON 保存到 DB

此外,如果可行的解决方案是创建一个 Spring 集成配置,那么如何确保所有组件都使用它?

目前这显然不容易完成。

我的研究使我得出结论,唯一的方法是使用外部工具:

  • New Relic Service Map - 商业。可能只是绘制 运行 微服务系统,因为它是一个监控系统。
  • AppDynamics - 商业。可能只是绘制 运行 微服务系统,因为它是一个监控系统。
  • Spigo - 开源。可以解析 Spring 集成 XML 配置,为 Spigo 生成输入,并生成图表。
  • micro-infra-spring - 开源。用于绘制 运行 微服务系统。需要动物园管理员。

您也可以使用 Twitter Zipkin 并希望很快 Spring Cloud Sleuth 进一步追踪它。