Hi Bret,
This is so far down the track in the future as we have to have some discussion around the key points we wish to focus on for TAXII v2.0, but at the same time, something worth at least putting some research time into. I am very loathe to distribute this
to the list as we are nowhere near the point that we can discuss solutions as we don't have a definite list of them identified by the CTI TAXII SC yet, but at the same time I think it is a useful discourse to have in preparation for those future official conversations.
From what I can tell from my limited knowledge, we will need a flexible serialization layer (e.g. Thrift, Cap'n Proto, Protobuf2, SBE, FlatBuffers, etc), and then a distribution mechanism underneath that to make sure the content is delivered (e.g. RabbitMQ,
ZeroMQ, ActiveMQ, Kafka, EagleMQ, etc) . 0MQ (ZeroMQ) fits into that later part of the equation. It would deal with getting the data from point A to point B as fast as possible.
I think once we define the key goals for the project, identify some target metrics then we can begin to experiment with some test data encoded and distributed in various ways. My belief is that we can only definitively identify the best transport mechanisms
by actual experimentation - running example realistic test data through combinations of serialization/distribution mechanisms we would like to test so that we can discover the best solution experimentally e.g.
Test_STIX_v2.0_Data -> Test_TAXII_v2.0_Data -> Capn'Proto_Serialization -> ZeroMQ and measure the amount of compression, connection bytes, encoding time, encoding CPU load, memory use and similar.