redis at moovit

14
REVOLUTIONIZING LOCAL MOBILITY © COPYRIGHT 2016 MOOVIT REDIS USE CASE

Upload: redis-labs

Post on 09-Feb-2017

302 views

Category:

Technology


1 download

TRANSCRIPT

REVOLUTIONIZING LOCAL MOBILITY

© COPYRIGHT 2016 MOOVIT

REDIS USE CASE

Agenda

• Brief Moovit overview

• Build up the Moovit requirements

• Cover requirements using Redis + Redis Labs + Applicative

clustering

• Redis summary

Anan Kenig, Chief Architect @ Moovit

8 Billion People

900 Million Cars

35 Million Users

The World’s #1 Transit App

41Languages

65Countries

800+ Cities

4,500Transit Operators

4.6 millionBus/Train Stops

100 million Daily passenger reports

New city added every

20 Hours!

Moovit service covers population of ~1B (excluding China & India)

In 25% of the Metro areas we serve we are the ONLY service (no Google(

Next year Moovit service will cover a population of over 2B!

The Moovit Requirements

1000’s

Reads

/ sec

1000’s Read Ops

Extremely responsive (< 10ms)

Constantly changing

Easily upgradable

The Moovit Requirements1000’s Read Ops

Extremely responsive (< 10ms)

Easily upgradable

Scale horizontally

More coverage

Scale

Vertically

2-dimensional scaling

Full redundancy

99.99∞99 availability

Seamless failover

No SPOF

The Moovit Requirements1000’s Read Ops

Extremely responsive (< 10ms)

Easily upgradable

2-dimensional scaling

Full redundancy

99.99∞99 availability

Seamless failover

No SPOF

Data blocks frequently

change holistically

Holistic data block switches

Full switches automation & manageability

Redis Solution1000’s Read Ops

Extremely responsive (< 10ms)

Easily upgradable

2-dimensional scaling

Full redundancy

99.99∞99 availability

Seamless failover

No SPOF

Holistic data block switches

Full switches automation & manageability

• Support 1000’s iops

• Extremely fast

• No magic to upgrades –

as easy as you write it,

but it’s easy to write

Redis Solution1000’s Read Ops

Extremely responsive (< 10ms)

Easily upgradable

2-dimensional scaling

Full redundancy

99.99∞99 availability

Seamless failover

No SPOF

Holistic data block switches

Full switches automation & manageability

• Clustering allows 2D

scaling

• Full redundancy &

seamless failover using

high-availability

deployment

• Very high availability

Redis Labs

Redis Solution1000’s Read Ops

Extremely responsive (< 10ms)

Easily upgradable

2-dimensional scaling

Full redundancy

99.99∞99 availability

Seamless failover

No SPOF

Holistic data block switches

Full switches automation & manageability

• No SPOF – worst case

one metro fails

• Replace entire data

holistically w/o interrupting

reads

• Fully automatable &

maintainable via API

• Full resource utilization

Redis LabsAPI

Moovit Loader

Applicative Clustering

Summarizing RedisAdvantages

Simple

1ms roundtrip is an overhead

Quick

Fast

Things to consider

Simple

Only simple structs

(objects, hashes, sets…)

Everything else needs to be written

REVOLUTIONIZING LOCAL MOBILITY

© COPYRIGHT 2016 MOOVIT

REDIS USE CASE