Engineering that powers SOS emergency on Uber

Engineering that powers SOS emergency on Uber

The emergency button on the Uber app is life-saving; and the service powering it needs to be available 24 x 7, no matter what!

So, how did Uber design such a service? How did they make it highly available; here's a quick gist about its system design ??

Information Gathering

When the emergency button is pressed, we first need to gather all the critical information and send it to the server. The critical information could be

  • Current Location
  • Vehicle and Trip Details
  • Rider and Driver Details

Capturing Location

When the emergency button is pressed, we do not just need to fetch the location at that moment, instead we continuously capture the location and keep sending it to the backend.

This would help us notify the nearby police and help them keep an eye on the movement.

Lat-long are not enough

To make tracing effective, we cannot just share the lat and long because they are incomprehensible; hence we try to deduce the address from the lat-long.

This process of deducing address from lat-long is called Reverse Geocoding.

Notifying the police

Uber uses a 3rd party service named RapidSOS to notify nearby local authorities.

RapidSOS provides APIs to register an emergency and send live updates about the emergency. It takes care of notifying the local authorities and providing them with the necessary information.

Notifying others

Uber not only notifies the police through RapidSOS, but it also notifies

  • emergency contacts
  • internal support staff for close follow-ups

The notification to all channels happens in parallel to increase the probability of someone getting notified.

Reliability and Availability

Given that the emergency service deals with events that are urgent, important, and critical; it is extremely crucial that the service is reliable and highly available; which means

  • no events loss
  • persistence and retries
  • fallback to every single component

Key Decisions

  1. Location getting ingested in Kafka
  2. Kafka guarantees persistence and reprocessing if required
  3. RapidSOS can be down and hence apply retries on consumers
  4. Emergency service notifies emergency and internal staff async


Here's the video of my explaining this in-depth ?? do check it out

Thank you so much for reading ?? If you found this helpful, do spread the word about it on social media; it would mean the world to me.

If you liked this short essay, you might also like my courses and playlists on


No alt text provided for this image

I teach an interactive course on System Design where you'll learn how to intuitively design scalable systems. The course will help you

  • become a better engineer
  • ace your technical discussions
  • get you acquainted with a spectrum of topics ranging from Storage Engines, High-throughput systems, to super-clever algorithms behind them.

I have compressed my ~10 years of work experience into this course, and aim to accelerate your engineering growth 100x. To date, the course is trusted by 1000+ engineers from 11 different countries and here you can find what they say about the course.

Together, we will dissect and build some amazing systems and understand the intricate details. You can find the week-by-week curriculum and topics, testimonials, and other information at https://arpitbhayani.me/masterclass.

Luis N. Cervantes

Full Stack Developer | Software Developer | Scrum Master | Business Intelligence (BI)

2 年

This is an interesting article that I enjoyed reading

回复
Jeevananthan S

R&D Software Engineer @i-exceed | Databases | Distributed systems | Microservices | Zig?

2 年

Arpit Bhayani Interesting topic loved your content Here is my other find out how Uber Engineering uses gRPC to provide RT-Push platform RAMEN moving from HTTP1.1 consider to QUIC/HTTP3 then back to gRPC-based bidirectional streaming HTTP2. This could be a great example how gRPC plays major role mobile clients over HTTP1.1 + JSON. HTTP2 now supports JSONtranscoder to make HTTP REST calls to client. https://www.uber.com/en-IN/blog/ubers-next-gen-push-platform-on-grpc/

回复
Amritanjali Dubey (She/Her)

Becoming the best version of Amritanjali

2 年

intresting read ????

回复

要查看或添加评论,请登录

Arpit Bhayani的更多文章

  • Engineer or Manager? How to Decide Your Path

    Engineer or Manager? How to Decide Your Path

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    4 条评论
  • One Career Bet Worth Taking

    One Career Bet Worth Taking

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    5 条评论
  • Leave your job with grace and gratitude

    Leave your job with grace and gratitude

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    7 条评论
  • Turn Boring Projects into Opportunities

    Turn Boring Projects into Opportunities

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    1 条评论
  • When is the right time to switch?

    When is the right time to switch?

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    8 条评论
  • Ramping up faster in your new job

    Ramping up faster in your new job

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    4 条评论
  • Back Your Disagreement with Data

    Back Your Disagreement with Data

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    2 条评论
  • Doubt yourself every day

    Doubt yourself every day

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    9 条评论
  • Not everything needs to be dumbed down

    Not everything needs to be dumbed down

    This edition of the newsletter contains one quick write-up that will help you grow faster in your career a video I…

    11 条评论
  • The best resource does not exist.

    The best resource does not exist.

    This edition of the newsletter contains two quick write-ups about The best resource is mythical Convergent Encryption I…

    4 条评论

社区洞察

其他会员也浏览了