digraph g {
graph [compound = true];
//presentation
splines = true;
overlap = false;
rankdir = TB;
generators [label="generators", shape="circle"];
providers [label="providers", shape="circle"];
processors [label="processors", shape="circle"];
subgraph cluster_persisters {
label="persisters";
persisters_kafka_reader [label="KafkaPersistReader"]
persisters_kafka_writer [label="KafkaPersistWriter"]
}
subgraph cluster_queues {
label="queues";
kafka [label="kafka", shape="trapezium"]
}
generators -> providers
providers -> processors
processors -> persisters_kafka_writer [label="StreamsDatum"]
persisters_kafka_reader -> processors [label="StreamsDatum[String]"]
persisters_kafka_writer -> kafka
kafka -> persisters_kafka_reader
} |