-
Not Synced
Ok
-
Not Synced
Alright every body so let's dive in
-
Not Synced
so
-
Not Synced
let's talk about how Uber trips even happen
-
Not Synced
Before we get into the nitty gritty of how
-
Not Synced
we save them from the clutches of the datacenter failover
-
Not Synced
So you might have heard all about connecting riders and drivers
-
Not Synced
This is what it looks like
-
Not Synced
You've probably at least seen the rider app
-
Not Synced
You get it out you see some cars on the map
-
Not Synced
You pick where you want to get a pick up location
-
Not Synced
At the same time, all these guys that you're
-
Not Synced
seeing on the map.
-
Not Synced
They have a phone open somewhere.
-
Not Synced
They're logged in waiting for dispatch
-
Not Synced
They're all pinging into the same datacenter for the city that you both are in
-
Not Synced
So then what happens is you put that pin in somewhere
-
Not Synced
you get ready to pick up your trip, get ready to request
-
Not Synced
You hit request and
that guy's phone starts beeping
-
Not Synced
Hopefully if everything works out
He'll accept that trip
-
Not Synced
All these things that we're talking about
here, the request of a trip
-
Not Synced
the offering of it to a driver, him
accepting it.
-
Not Synced
That's something we call a state change
transition
-
Not Synced
From the moment you start requesting the trip
-
Not Synced
We start creating your trip data
in the backend datacenter
-
Not Synced
And that transaction that might live
for anything like 5, 10, 15, 20 however
-
Not Synced
many minutes it takes you to take your trip
-
Not Synced
We have to consistently handle that trip
-
Not Synced
to get it all the way through to completion
to get you where you're going happily
-
Not Synced
So every time this state change happens
-
Not Synced
Things happen in the world, so next up
he goes ahead and shows up to you
-
Not Synced
He arrives, you get in the car,
he begins the trip
-
Not Synced
Everything is going fine
-
Not Synced
So this is of course,
So some of these state changes
-
Not Synced
are more or less important to everything
that's going on
-
Not Synced
The begin trip and the end trip are the
real important ones
-
Not Synced
that we don't want to lose the most.
-
Not Synced
But all these are really important to keep on to
-
Not Synced
So what happens in the sense of failure is
your trip is gone.
-
Not Synced
You're both back to
"OMG where'd my trip go"
-
Not Synced
There you're just seeing empty cars again
and he's back into an open thing
-
Not Synced
like where you were when you
started/opened the application
-
Not Synced
in the first place
-
Not Synced
So this is what used to happen for us
not to long ago
-
Not Synced
So how do we fix this
how do you fix this in general?
-
Not Synced
So classically you might try
and say well,
-
Not Synced
Let's take all the data in that one datacenter
and copy it replicate it to a
-
Not Synced
backup data center