A few days ago I talked about how to enable tracing across service boundaries. The brief summary of that story is that tracing across boundaries works by associating an identifier with each activity and using the identifier to later reconstruct the original sequence. Today I'll talk a little bit about the implementation of the identifier. The interesting case to talk about is what takes place when we want to hand off control from an activity running on one machine to any of the following:
The mechanism for doing the transfer from activity A to activity B is a simple interlocked process.
The process happens in reverse if we want to transfer back from activity B to activity A.
Next time: Faking Poison Message Handling