Earlier quoted context omitted.
Some cities are bigger than others. That's a heavily imbalanced sharding key.
Which isn't necessarily a problem. Just put X shard on the same machine. If the largest city can be handled by a single server, I generally agree with your parent. I've thought about this problem before, both for a related problem space and with friends working in this specific space. The short version is to create a grid where each square holds car data (id, status, type, x, y, ...) in-memory. Any write-lock of conc…
What I Wish I Had Known Before Scaling Uber [video]
41–50 of 284 posts
Re: What I Wish I Had Known Before Scaling Uber [video]
#42Earlier quoted context omitted.
That's like a post office way of thinking about the internet, we already past that point. Plus you haven't solved the problem of managing 800 microservices and 2000 programmers, but now you have a deployment problem also.
With 800 services and 2000 programmers you already have a deployment problem.
Re: What I Wish I Had Known Before Scaling Uber [video]
#43"Uber is most reliable over the weekends when engineers don't change it" :)
A system running just fine will usually continue to run just fine. Until it's changed.
Re: What I Wish I Had Known Before Scaling Uber [video]
#44"Uber is most reliable over the weekends when engineers don't change it" :)
We see this pattern at PagerDuty over the majority of our customers. There is a definite lull in alert volume over the weekends that picks up first thing Monday morning. It's led to my personal conclusion that most production issues are caused by people, not errant hardware or systems.
Re: What I Wish I Had Known Before Scaling Uber [video]
#45"Uber is most reliable over the weekends when engineers don't change it" :)
We see this pattern at PagerDuty over the majority of our customers. There is a definite lull in alert volume over the weekends that picks up first thing Monday morning. It's led to my personal conclusion that most production issues are caused by people, not errant hardware or systems.
Re: What I Wish I Had Known Before Scaling Uber [video]
#46Earlier quoted context omitted.
Cab service on a planetary scale :) They have 2000 engineers, 800 microservices and 8000 GIT repositories. Does it still seem trivial to you? EDIT: to downvoters: why shoot the messenger? :)
Sounds like they should sit down and re-think why they need one service for every two engineers (!), and ten repos per service (!!).
They did that; the reason is job security.
Re: What I Wish I Had Known Before Scaling Uber [video]
#47"Uber is most reliable over the weekends when engineers don't change it" :)
We see this pattern at PagerDuty over the majority of our customers. There is a definite lull in alert volume over the weekends that picks up first thing Monday morning. It's led to my personal conclusion that most production issues are caused by people, not errant hardware or systems.
Re: What I Wish I Had Known Before Scaling Uber [video]
#48Earlier quoted context omitted.
Which isn't necessarily a problem. Just put X shard on the same machine. If the largest city can be handled by a single server, I generally agree with your parent. I've thought about this problem before, both for a related problem space and with friends working in this specific space. The short version is to create a grid where each square holds car data (id, status, type, x, y, ...) in-memory. Any write-lock of conc…
I always wonder in these cases about giving each car an actor in Erlang/Elixir and having complete network transparency, message handling and crashes handled for free. The routing is very complex too but as you note scales well, until you want to start routing/pickups based on the realtime location of other cars.
Re: What I Wish I Had Known Before Scaling Uber [video]
#49Earlier quoted context omitted.
We see this pattern at PagerDuty over the majority of our customers. There is a definite lull in alert volume over the weekends that picks up first thing Monday morning. It's led to my personal conclusion that most production issues are caused by people, not errant hardware or systems.
I've come to question releasing often as a result.
Re: What I Wish I Had Known Before Scaling Uber [video]
#50Just to confirm, 1000 microservices in this case is 1000 different apps (e.g.different docker images) running simultaneously? 1000 microservices in this case not 1000 microservice instances (e.g. docker instances)? If it is 1000 microservices as in different apps, then they must have at least 2000 running apps (at least 2 instances per app for HA). Maybe uber only have 200 "active" microservice app running at the sam…