Rado
Rado

Reputation: 77

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

We have a microservices architecture, i.e. each of the main components of our system is designed to be run as a separate Java app (jar or war).

We use Spring Integration to facilitate communication between the components (over a MQ service).

How can we get a graphical diagram of the whole integration layer of the system, given that each component has its own Spring Integration XML config?

Note that we know how to do it within a single application. The question is how to do it cross-app.

Example: Component 1 generates stream of POJOs -> MQ -> Component 2 serializes POJO object graph to JSON -> MQ -> Component 3 saves JSON to DB

Also, if a viable solution would be to create a single Spring Integration config, then how to make sure all components use it?

Upvotes: 6

Views: 1222

Answers (2)

Marcin Grzejszczak
Marcin Grzejszczak

Reputation: 11149

You can also use Twitter Zipkin and hopefully quite soon Spring Cloud Sleuth to trace it further on.

Upvotes: 2

Jan Żankowski
Jan Żankowski

Reputation: 8941

This apparently can't be done easily at the moment.

My research brings me to the conclusion the only way is to use external tools:

  • New Relic Service Map - Commercial. Probably only diagramming running microservice systems, because it's a monitoring system.
  • AppDynamics - Commercial. Probably only diagramming running microservice systems, because it's a monitoring system.
  • Spigo - Open source. One could parse Spring Integration XML configs, generate input for Spigo, and generate a graph.
  • micro-infra-spring - Open source. For diagramming running microservice systems. Requires ZooKeeper.

Upvotes: 5

Related Questions