Re:Distributed Logging Architecture in the Container Era
by NegatioN on Friday August 12, 2016 @02:03PM
(#12277561)
Zipkin is great. It's pretty simple to set up, and you can instrument pretty much anything to send data to it. We made it a part of our internal httpclient and Kafka client so most teams get the tracing for free.
You can even visualize the internals of Cassandra with zipkin. :)
There's support for a Spark-job that generates a visual map of all your services' dependencies[0] where the strength of their relationship is represented by the thickness of the lines.
The key is not just to have a single request ID, but also to provide hop IDs. Relying on clocks, even vector clocks, isn't ideal in a share-nothing architecture.
[0] http://zipkin.io/