You pulled a fast one on us!

We’re picking up the thread of Daniel Mössner‘s question from December 20 where you read my bold claim that autonomous components enable Flow because you can add new functionality without changing existing code.

But then we showed how account-component leverages the metadata.correlation_stream_name included on messages that funds-transfer-component sent.

“Wait, so account-component knew about transfers?”

No.

”But it had the funds_transfer_id.”

Sure. Postal workers deliver unholy amounts of mail every day, and that mail has an address on it. Does that mean that postal workers understand what’s written in the mail they deliver?

The question for Flow in your org, did account-comonent or, more importantly, the developers writing account-component, have any knowledge that a funds_transfer_id would be there or what that ID meant? No.

correlation_stream_name went into metadata, and we said the other day:

The Eventide Project uses metadata strictly for properties related to the mechanics of messaging.

You, as the author of account-component, don’t do anything with the correlation_stream_nameother than copying it to any messages you produce. You don’t have to understand it. Your caller could have put “The quick brown fox jumps over the lazy dog” in that value, and it would have made no difference to you.

We’re in the home stretch now. One more comment on what funds-transfer-component does with the account-component events, and this’ll be a wrap.


Like this message? I send out a short email each day to help software development leaders build organizations the deliver value. Join us!


Get the book!

Ready to learn how to build an autonomous, event-sourced microservices-based system? Practical Microservices is the hands-on guidance you've been looking for.

Roll up your sleeves and get ready to build Video Tutorials, the next-gen web-based learning platform. You'll build it as a collection of loosely-coupled autonomous services, developing a message store interface along the way.

When you're done, you'll be ready to contribute to microservices-based projects.

In ebook or in print.