+ All Categories
Home > Technology > Redis for horizontally scaled data processing at jFrog bintray

Redis for horizontally scaled data processing at jFrog bintray

Date post: 15-Apr-2017
Category:
Upload: redis-labs
View: 498 times
Download: 1 times
Share this document with a friend
22
XXX Horizontally scaled data processing architecture Using Redis @
Transcript
Page 1: Redis for horizontally scaled data processing at jFrog bintray

XXX

HorizontallyscaleddataprocessingarchitectureUsingRedis

@

Page 2: Redis for horizontally scaled data processing at jFrog bintray

About me

Ophir Hordan Member of Jfrog swamp Leading Bintray development

Page 3: Redis for horizontally scaled data processing at jFrog bintray

Bintray – Leading Distribution platform – Support distribution of Maven,

Debian, RPM, Docker, nuget…. – Use CDN for fast download – Runs in multiple site around the

world

Page 4: Redis for horizontally scaled data processing at jFrog bintray

Some Numbers ___________

Packages 300k

Downloads 900m/Month

Page 5: Redis for horizontally scaled data processing at jFrog bintray
Page 6: Redis for horizontally scaled data processing at jFrog bintray
Page 7: Redis for horizontally scaled data processing at jFrog bintray
Page 8: Redis for horizontally scaled data processing at jFrog bintray

Services

– Download binaries – Web application – REST API

– Backend micro services

Page 9: Redis for horizontally scaled data processing at jFrog bintray
Page 10: Redis for horizontally scaled data processing at jFrog bintray

The Layout

UI & REST API

MongoDB

Download Server

CouchDB

Index Calculation

Async Process

Event Processing

Event Processing

Page 11: Redis for horizontally scaled data processing at jFrog bintray

No single point of failure

Page 12: Redis for horizontally scaled data processing at jFrog bintray

True distribution

Page 13: Redis for horizontally scaled data processing at jFrog bintray

Quiet period

Page 14: Redis for horizontally scaled data processing at jFrog bintray

Data Sharding

Page 15: Redis for horizontally scaled data processing at jFrog bintray
Page 16: Redis for horizontally scaled data processing at jFrog bintray

and Twemproxy aka nutcracker Twemproxy

Page 17: Redis for horizontally scaled data processing at jFrog bintray

The flow Service

Twemproxy

Micro Service

Twemproxy

Page 18: Redis for horizontally scaled data processing at jFrog bintray

DB0InboundData

DB1Queuemanagementandquiteperiod

DB2WorkingDBandretriescounter

-ZsetbyEmestemp-Hashfordatapayload

HashkeysValuewithdatapayload

-Hashfordatapayload-HashforretrycounEngandrecoverydata

Redis structure LUAScanallkeysMovetodb1

zrangeByScore(currentEmestampminus5seconds)

Page 19: Redis for horizontally scaled data processing at jFrog bintray

Service Pod Microservice Redis

Outbound Twemproxy

Redis

Pod

Pod

Inbound Twemproxy

Microservice

Page 20: Redis for horizontally scaled data processing at jFrog bintray

Things we learned on the way… •  Multiple values in single key is problematic to

monitor •  aof file disk flush settings has big impact on

Redis performance •  No official package of Redis and Twemproxy •  Twemproxy only support single Redis db •  Redis can easily hold Millions of keys •  Protocol buffer works well as Redis document •  Twemproxy doesn't have fail over •  Twemproxy has limited sharding support (was

good enough for us)

Page 21: Redis for horizontally scaled data processing at jFrog bintray

QUESTIONS?

Page 22: Redis for horizontally scaled data processing at jFrog bintray

Recommended