While API and SDK of distributed tracing are (in the process of being) well defined, the storage backends are configurable. For example, Jaeger supports Cassandra and Elasticsearch while Zipkin can use MySQL, Cassandra, and Elasticsearch by default.
This talk takes a look at the implementation details of the widely used datastores Cassandra and Elasticsearch:
- What are the general requirements for tracing backends in terms of batching writes, expressiveness of queries, or scalability?
- How similar or different are the implementations between Jaeger and Zipkin as well as between the datastores?
- Does it matter for the average project?
Join a look behind the scenes to learn some new tricks.