Reshef Mann and Oren Kaniel Just completed Round B funding - total of $28M Processing 2.8B daily events (it was 1.9B just 3 months ago and 250M at the start of 2014!) 13 people in the development team (we were just 6 people 12 months ago!) AppsFlyer Who?!
via Redis pub/ sub and channels Code base in Python About 10 services over 5 machines and 3 DBs 2012 2014 Small, isolated services that communicate asynchronously via Kafka and RabbitMQ The occasional synchronous http communication between services when needed Code base in Clojure About 100 services over 200 machines and 20 DBs State of The Union
Each service encapsulates its own data (if it has any) and he exposes it over a well known interface Data objects are always POCO/POJO (simple data structures represented in JSON or EDN) Preference for queues and buffers that pass isolated data for total async processing How We Model
read from the event stream to its heart content - regular Kafka consumers behavior Each new service handles real life traffic and real life load because it's connected to the event stream Test DB if needed is easy to spin up on the cloud Once deemed ready, just throw the switch to on