I think TPL Dataflow and whatever messaging framework you use are unrelated. You can use TPL in combination with Rabbit or Zero. RabbitMQ and Zero MQ are just the messaging frameworks which supply different transport layers, I only rely on them for sending messages between my different out-of-process system modules.
TPL Dataflow is a framework that structures the flow and transformation of data in a larger architecture in very efficient and concurrent ways. I use TPL mostly for the merge/sort (the part where historical data feeds of different symbols are merged and then sorted in order to generate a time-stamp-ordered data stream) and of course each of my strategies runs on top of data blocks. But I also use it right behind the ZeroMQ message retrieval process: Messages are passed to the data block responsible for the particular message type so that ZeroMQ can get back at doing its job, listening to new incoming messages while the incoming message is being processed. I run on a fully concurrent framework.
TPL Dataflow is a framework that structures the flow and transformation of data in a larger architecture in very efficient and concurrent ways. I use TPL mostly for the merge/sort (the part where historical data feeds of different symbols are merged and then sorted in order to generate a time-stamp-ordered data stream) and of course each of my strategies runs on top of data blocks. But I also use it right behind the ZeroMQ message retrieval process: Messages are passed to the data block responsible for the particular message type so that ZeroMQ can get back at doing its job, listening to new incoming messages while the incoming message is being processed. I run on a fully concurrent framework.
Quote from januson:
Hi amazingIndustry
I'm in the process of building my own trading application as well, I've developed a lot of different small applications exactly as you did, but unfortunately my work has stalled the last couple of month... I just don't feel for it at the moment, but I can feel my mojo is returning
anyway.... I did see your comments on TPL Dataflow, where did you implement that in your trading application? I was thinking about a local message queue in each application, because ZeroMQ is brokerless? is that correct?
My initial thought was to use RabbitMQ, but ZeroMQ looks more promising when utilizing TPL Dataflow, what do you think?
