Concord – High Performance Stream Processing with C++ and Mesos
concord.io
concord.io
Is there documentation on adding more input/output sources?
[1]: https://github.com/concord/concord-jvm/tree/master/concord_k...
[1] http://concord.io/docs/faq.html#how-do-i-get-data-into-the-s...
Note: No relation to the DC/OS people, just a happy user.
[0] https://dcos.io/
[2] https://dcos.io/docs/1.7/administration/installing/cloud/pac...
To be honest Storm's API is richer. Our approach however was to make stream processing available to all developers. It doesn't get simpler than four callbacks:
void init(CtxPtr context);
void destroy();
void processRecord(CtxPtr context, FrameworkRecord &&r);
void processTimer(CtxPtr context, const string &key, int time);
Metadata metadata();Word count of 1.13B messages - Storm: ~16K QPS/node, 100ms per event (P999) - Spark Streaming: 100K QPS/node, 1s batch window - Concord: 500K QPS/node, 10ms per event (P999)
Server log processing (29G server log, ~260M msgs) 7 different computations including deduplication, counting, pattern matching, windowing... 4 nodes, 8 vCPU, 32GB RAM each Concord: 1M – 1.8M QPS / cluster Spark Streaming: 72K – 2M QPS / cluster
Concord generally performed in the consistent range of 1-1.8M QPS for whereas Spark's throughput varied differently based on window sliding / amount of internal shared state.