Live data from Hacker News

What I Wish I Had Known Before Scaling Uber [video]

youtube.com

281–284 of 284 posts

Re: What I Wish I Had Known Before Scaling Uber [video]

#281

Earlier quoted context omitted.

Pretty sure the user volume for Uber is higher over the weekends than during the week. Particularly system stressful times are 1:30-2:15am PT on Saturday and Sunday mornings.

There is less commuting on weeekends.

In the talk, he specifically mentions that weekends are the busiest.

Re: What I Wish I Had Known Before Scaling Uber [video]

#282
post #207

Earlier quoted context omitted.

You seem to be repeating these weird myths that have no basis in reality. You don't need to be an expert in distributed systems to use microservices. It's literally replacing a function call with an RPC call. That's it. If you want to make tracing easier you tag the user request with an ID and pass it through your API calls or use something like Zipkin. But needing formal verification in order to test your architectu…

> It's literally replacing a function call with an RPC call. Until you want to make five function calls, in a transactional manner. Architecting correct transaction semantics in a monolithic application is often much easier then doing so across five microservices.

Yeah, that absolutely didn't compute for me either. If it really was the case with no thoughts needed for transactions or correctness I would have started to split my monolithic apps years ago. Its when your data model is complex enough to make consistency/correctness difficult without transactions you have a real trouble splitting things up.

Re: What I Wish I Had Known Before Scaling Uber [video]

#283

Earlier quoted context omitted.

You don't need to build a distributed system for that. Just build the ShippingServiceLibrary, let others import the jar file (or whatever) and maintain a stable interface. I wrote about this a couple of years ago in more detail, so I'll just reference that: https://www.chrisstucchio.com/blog/2014/microservices_for_th... HN discussion: https://news.ycombinator.com/item?id=8227721

The point is that unless you use JVM hot reloading (not recommended in Production) you will need to take down your whole app to upgrade that JAR. Now what if your microservice was something minor like a black word filter. Is adding a swear word worthy of a potential outage ?

And in microservices you can just pick whatever stack you feel is the best for just that task

Re: What I Wish I Had Known Before Scaling Uber [video]

#284

Earlier quoted context omitted.

For the netspit stuff I'd look at Phoenix.Presence works and see how that handles it with a CRDT. There are various ways of distributing things across nodes in Erlang/Elixir but maybe you'd need to build something. I think you are right about the riak core stuff - you could probably keep track of cars using some sort of distributed hash and kill multiple cars if they were to ever spawn. In fact a way of instantiating…

I think that's a cool idea. It would have the downside that error recovery could take a while though, depending on the permdown period, so during that time a driver would be stuck; while in a request-based system they can immediately try again and it would work (hit a different instance). But it might not be too bad.

I've had uber crash on drivers while on a ride, even 30 seconds is better than complete failure! I think it would make uber more resilient...
Post reply on HN