100 million reviews/year is only 3 reviews per second on average. Sure, they seem to do more then just that, like voting, comments, etc. But it still seems like something an old school stack could handle on a single large instance. Reading between the lines it seems the problem wasn't scaling, but programmer productivity. Smaller code bases is often easier to work with so I guess they solved that by dividing it up in…
Billions of Messages a Day – Yelp's Real-Time Data Pipeline
31–40 of 49 posts
Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#32Earlier quoted context omitted.
> 100 million reviews/year is only 3 reviews per second on average That's writes, I imagine the reads would be a bit higher.
And ultimately, writes resulting from those reads. I imagine yelp has pretty stout analytics/metrics pipeline fed off views and conversion tracking.
Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#33100 million reviews/year is only 3 reviews per second on average. Sure, they seem to do more then just that, like voting, comments, etc. But it still seems like something an old school stack could handle on a single large instance. Reading between the lines it seems the problem wasn't scaling, but programmer productivity. Smaller code bases is often easier to work with so I guess they solved that by dividing it up in…
Applying the 80/20 principle: 80% of traffic occurs in the 20% of years time. Which is around 12 reviews per second. Still modest.
Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#34Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#35Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#36Earlier quoted context omitted.
I think that is why the weekly number is only 50. It's a net.
Not to mention that some number of those LOC are unit tests / integration tests (Which can take more code than a feature.)
Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#37Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#38Earlier quoted context omitted.
Most of the stream processing in the Data Pipeline happens inside of an internal project called PaaStorm, which is storm-like. It was built to take advantage of our platform as a service ( http://engineeringblog.yelp.com/2015/11/introducing-paasta-a... ), which handles process scheduling really well. Architecturally, it's pretty similar to Samza, with distributed processes communicating using Kafka. We do use Spark s…
Hi Justin! Thanks for sharing, very interesting stuff. How do you scale Kafka to handle the massive amount of traffic (and storage) that you seem to generate daily? With services talking among themselves via HTTP there is a lot of resilience built-in. Do you have anything in place to avoid this becoming a single point of failure? It must have become the most critical piece of your infra.
We push 500k documents a second through over 10 6 core/24gb ram hosts pretty uneventfully. Only real pointer is to size ZK appropriately and make sure you leave lots of memory for the file system cache.
Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#39100 million reviews/year is only 3 reviews per second on average. Sure, they seem to do more then just that, like voting, comments, etc. But it still seems like something an old school stack could handle on a single large instance. Reading between the lines it seems the problem wasn't scaling, but programmer productivity. Smaller code bases is often easier to work with so I guess they solved that by dividing it up in…
But I finally realized - those messages are probably mostly tracking, ads, more tracking, some infrastructure work and even more ads & tracking. The sausage machine that turns people into money.
Re: Billions of Messages a Day – Yelp's Real-Time Data Pipeline
#40100 million reviews/year is only 3 reviews per second on average. Sure, they seem to do more then just that, like voting, comments, etc. But it still seems like something an old school stack could handle on a single large instance. Reading between the lines it seems the problem wasn't scaling, but programmer productivity. Smaller code bases is often easier to work with so I guess they solved that by dividing it up in…
Applying the 80/20 principle: 80% of traffic occurs in the 20% of years time. Which is around 12 reviews per second. Still modest.