3 ms·
We built a kind of hybrid infrastructure around this idea. Any component sends its data into kafka-esque (we're using combination of NATS and PubSub) pipeline
by doh 9y ago
We built a kind of hybrid infrastructure around this idea.
Any component sends its data into kafka-esque (we're using combination of NATS and PubSub) pipeline where series of workers read, process and write data into our RDBMS which is the ultimate source of the truth.
This allowed us to run a double scale system, where all components are running on their own pace and the RDBMS is running on its own. There is some inherited delay in the data propagation, but it works for service like our (search engine) that doesn't require real-time exposure of newly acquired data.
This design also allows for a frugality as the RDBMS cluster is only scaled based on long term trends and now short term bursts. We also are able to buy committed usage for the cluster as we've great predictability in its growth.