Question: Best scenarios for utilising RaftLib?
At a high level I am trying to conceptualise whether Raft is best utilised in a scenario of:
- a single 'flow of source data' being processed by a single topology of kernels, or
- many 'flows of different source data' being processed by the same topology of kernels (different kernel instances), or
- many 'flows of different source data' being processed by many different topologies of kernels (different kernel types and different kernel instances
I believe all of the examples I have seen are the first scenario.
For the second and third scenarios would it simply be the case of adding multiple independent streams to a single map object and then calling exe(). I am wondering if this is the case how you would manage the 'flows' independently?
Perhaps it would be better to have multiple map objects (one per 'flow') and calling exe() on each. In this case I assume memory and processor resources would need to be partitioned someway per map.
You know, that's a very good point. Any chance you could provide a test case for the second scenario and a contrived example to provide for the examples folder? Then we can ensure that the runtime handles the scenario. I'm pretty sure we can support that, however, I prefer test cases to ensure that we do. If you need help producing the test case, let me know and we can work through how to write them on the wiki together.