Vous êtes sur la page 1sur 15

Stream Upload And Asynchronous Job Processing System

L B Minh minhlb@ ng!com! n "echnical Manager #alo "eam $ %&'

Agenda
() *hy +e need an Asynchronous Job Processing System, -) .o+ it +or/s , 0) Application 1) 2 3A

Parallel Stream Upload

4ata is separated in chun/s

5acts
#alo Stream Upload
Bac/ground continuous %oice Upload Bac/ground 6mage upload 7

5acts 8no+9
(M oices )day :;;< images )day Pea/= >;; ?hun/s)second

@Apect=
Scalable 8more than >;;; chun/s)second9 .igh perBormance

*hat +e need
Asynchronous Job processing System
?ollect 4ata

Processing 4ata

Cesponse

?ollect 4ata

*or/ers

Cesponse

Processing 4ata

*hat +e need
Asynchronous Job processing System
Batch Job Big data Dob .igh Celiable= &o Dob missed 4istributed Dob processing +or/ers .igh perBormance Persistent Load balancingE 5ailed o erE Ceco erable

Fpen$source solutions
Share$memory +or/ers
All +or/ers in one physical ser er &o Bail$o er Un$scalable

'earman
'ood but not completely Bit our reGuirement &o Batch Job support &ot Bull reliable 8lost Dob9 &ot Bull load$balance Un$stable iB more than -;;; Dobs)second

#alo Asyn Job Processing System


Job Manager Job ?lean$ Up Persisten t Manager
"?P

?lient

Short ?onnection "?P

*or/er Manager

"?P

*or/er (

?lient

Long ?onnection "?P

Job ?aching

"?P

*or/er -

Job Ser er

*or/er 0

# 4atabase

6mplementation
?)?HH Bor Job Ser er ?)?HHE Ja a Bor client and +or/ers Binary Protocol #$4atabase

Job State
Started 2ueuing
4eli er to *or/er

Processin g
*or/er A?< 5ailed &o A?<

5ailed
*or/er A?< 5inished

"ime Fut

5inished

Job "ype
Single Job
Simple tas/ 6mmediately deli er

Batch Job
Multiple tas/s 4eli er +hen recei ed all tas/s

4eployment

*or/er (

Job Ser er ( SynchroniIed Business Ser er *or/er -

Job Ser er -

*or/er 0

Applications
Using Bor all Asynchronous Dob processing in #alo= oice uploadE image uploadE Beed processing7 Benchmar/ 8single ser er9
>;< images)seconds 8J1;A1:;9 >;/ oices)seconds 80;s9

Ad antages
Batch Jobs &e er lost Dob *or/er can restart or stop any time 5ail$o erE Load BalancingE 2uic/ reco er in Bailure

6ssue
Job duplication 8handled by +or/er9

23A

Vous aimerez peut-être aussi