microservices - devOps - distributed tracing
zipkin
zipkin & cassandra
Apache Cassandra the data platform de jure
for the next evolution of software services
an enterprise moving ever towards
microservices and BASE architectures
the missing piece for many is tracing and profiling difficult to reproduce problems
Apache Cassandra
data platform de jure
next evolution of software services
an enterprise moving ever towards
microservices and BASE architectures
tracing and profiling difficult to reproduce problems
an implementation of Google's Dapper paper
CS -->
--> SR
<-- SS
CR <--
CO-ORDINATOR NODE REPLICA NODE
-->
beginSession(..)
trace(..)
trace(..)
--> initialiseMessage(..)
trace(..)
trace(..)
<--
trace(..)
endSession(..)
<--
public class ZipkinTracing extends Tracing
{..}
public class ZipkinTraceState extends TraceState
{..}
bin/cassandra -Dcassandra.custom_tracing_class=..ZipkinTracing
CO-ORDINATOR NODE REPLICA NODE
-->
beginSession(..)
trace(..)
trace(..)
(zipkin headers) --> initialiseMessage(..)
trace(..)
trace(..)
<--
trace(..)
endSession(..)
<--
bin/cassandra
-Dcassandra.custom_tracing_class=..ZipkinTracing
-Dcassandra.custom_query_handler_class=..CustomPayloadMirroringQueryHandler
src/java/org/apache/cassandra/net/MessageOut.java | 7 +------
src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 4 +++-
src/java/org/apache/cassandra/service/QueryState.java | 12 ++++++++++--
src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java| 2 +-
4 file changed, 15 insertion(+), 10 deletion(-)