289
@ cyrdup @tpierrain #React Fin Basses latences, hauts débits : les secrets de la finance pour avoir des systèmes réactifs Cyrille DUPUYDAUBY Thomas PIERRAIN SOCIETE GENERALE

Faible latence haut debit Devoxx FR 2014

Embed Size (px)

DESCRIPTION

Comment concevoir des systèmes capables d’encaisser des dizaines de milliers d’updates par seconde sans s’engorger, ni dépasser la milli seconde de traitement ? Comment écrire du code scalable qui reste lisible –mais garanti 100% sans deadlock ? Que recouvre le reactive manifesto et les termes : conflation, sequencer, immutable state ? Après vous avoir présenté les besoins et contraintes du trading électronique, nous répondrons à toutes ces questions dans une session qui s'annonce...technique.

Citation preview

Page 1: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Basses latences, hauts débits : les secrets de la finance pour avoir des systèmes réactifs

Cyrille DUPUYDAUBY Thomas PIERRAIN !SOCIETE GENERALE

Page 2: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Qui sommes nous ?

use case driven (blog) Many Cores (blog)

Page 3: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Agenda

•Banque d’investissement & marchés électroniques

•Construisons ensemble un « Pricer »

•Reactive Manifesto & Conclusion

Page 4: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

La banque d'investissement

•Fournir des solutions de financement

•Proposer des solutions d'investissements

•Créer des produits financiers

•Agir sur les marchés

Page 5: Faible latence haut debit Devoxx FR 2014

http://upload.wikimedia.org/wikipedia/commons/b/b8/Sao_Paulo_Stock_Exchange.jpg

Page 6: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les activités de marché

Page 7: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les activités de marché

Page 8: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les activités de marché

Page 9: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les activités de marché

Page 10: Faible latence haut debit Devoxx FR 2014

Carnet d’ordres

Page 11: Faible latence haut debit Devoxx FR 2014

Carnet d’ordres

Prix

Page 12: Faible latence haut debit Devoxx FR 2014

Carnet d’ordres

Prix

Page 13: Faible latence haut debit Devoxx FR 2014

Carnet d’ordres

Prix

Moteur

Page 14: Faible latence haut debit Devoxx FR 2014

Carnet d’ordres

Prix

Moteur

Page 15: Faible latence haut debit Devoxx FR 2014

Carnet d’ordres

Prix

Moteur

Page 16: Faible latence haut debit Devoxx FR 2014

@YourTwitterHandle#DVXFR14{session hashtag} @cyrdup @tpierrain#ReactFin

PAS

COMPR

IS?

Page 17: Faible latence haut debit Devoxx FR 2014
Page 18: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le supermarché

Page 19: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le supermarché

Page 20: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les acteurs

Investisseurs

Page 21: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les acteurs

Investisseurs

Market Makers

Page 22: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les acteurs

Investisseurs

Market Makers

Scalpers

Page 23: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les automatesAlgo trading

Page 24: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les automatesAlgo trading

Arbitrage

Page 25: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les enjeux

•Complexité !

•Fiabilité/disponibilité !

•Capacité en volume !

•Latence !

!

Page 26: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Les enjeux

•Complexité

• 5200 Releases/an

•Fiabilité/disponibilité

• 5,5 * 24

•Capacité en volume

• 5M executions/jour, 250K market update/Sec

•Latence

• ≈ 5 ms end to end, 50 µsec pour haute fréquence

Page 27: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Agenda

•Banque d’investissement & marchés électroniques

•Construisons ensemble un « Pricer »

•Reactive Manifesto & Conclusion

Page 28: Faible latence haut debit Devoxx FR 2014
Page 29: Faible latence haut debit Devoxx FR 2014

Le Pasta Pricer

Page 30: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Mission

•Calculer en temps réel le prix des paquets de pâtes proposées

•Offre en pates:

• 4 tailles de paquet: 250g, 500g, 1Kg, 2Kg

• 4 types de farine: basique, premium, bio, complète

• 3 recettes: sans oeufs, avec et riche en oeuf

• 50 formes et couleurs différentes

soit 2400 types de pates !

Page 31: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calculer le prix

•Le prix dépend des cours

• des différents types de blés

• des oeufs (le cas échéant)

• du carton et/ou du plastique (emballage)

• d’autres ingrédients optionnels (pates colorées): tomate épinards

Page 32: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Designons notre Pasta pricer!

en mode ¨EVENT STORMING¨

Page 33: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Bases pour notre représentationPasta pricer

dans la même boite...

Page 34: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Bases pour notre représentationPasta pricer

des flux d evenementson reçoit ..

on publie ..

dans la même boite...

Page 35: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Bases pour notre représentationPasta pricer

3 étapes

Calculerdecoder encoder

Page 36: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

3 étapes

Calc Encdec

Bases pour notre représentation

Page 37: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

3 étapes

Calc Encdecinputs

Bases pour notre représentation

Page 38: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

3 étapes

Calc Encdecinputs outputs

Bases pour notre représentation

Page 39: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

3 étapes

Calc Encdecinputs outputs

pennepennepennepennepennepennepennegnocchi

pennepennepennepennepennepennepennepenne

2400 pates différentes

Bases pour notre représentation

Page 40: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Designons notre Pasta pricer!

on commence?

Page 41: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Approche mono thread

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 42: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

1110010101...

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 43: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 44: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Approche mono thread

Page 45: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Approche mono thread

Page 46: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Approche mono thread

Page 47: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 48: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Approche mono thread

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 49: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

gnocchi

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Approche mono thread

Page 50: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

gnocchi

Gnocchi 5.4 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Approche mono thread

Page 51: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

gnocchi

Gnocchi 5.4 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Approche mono thread

Page 52: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

gnocchi

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Approche mono thread

Page 53: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Approche mono thread

Page 54: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

penne

Oeufs 1.5 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 55: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

penne

penne 2.1 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 56: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

penne

penne 2.1 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 57: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

penne

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 58: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Approche mono thread

Page 59: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Oeufs 1.5 €

penne

pennepennepennepennepennepennepennepen

nepennepenne—- — pen

nepennepennepennepennepennepenne————

Approche mono thread

Page 60: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Oeufs 1.5 €

penne——— —

——pennepennepennepennepennepennepenne————

Approche mono thread

0110010110

0…

Page 61: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Oeufs 1.5 €

Calc Encdec

Pasta pricer

pennepennepenne—-

— ——

Approche mono thread

0110010110

0…

Page 62: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepenne——-

Approche mono thread

0110010110

0…

Page 63: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc Encdec

Pasta pricer

Approche mono thread

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 64: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

avis sur la solution?

Approche mono thread

Page 65: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

avis sur la solution?-On n exploite pas la CPU au mieux-prix des dernières pâtes calculées en retard- le mono-thread: intéressant pour la ultra low

latency - pas ici avec nos contraintes- le moment de // nos calculs !

Approche mono thread

Page 66: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

Page 67: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...

1110010101...

Page 68: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...

Oeufs bios 3.5 €

Page 69: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...Oeufs bios 3.5 €

Page 70: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

Page 71: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

Page 72: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

penne 5.4 €

.... .... €

...... 8.2 €

.... €

Page 73: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

penne 5.4 €

.... .... €

...... 8.2 €

.... €

Page 74: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

Page 75: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

Page 76: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- ——- —

—- ——- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

penne

—————

Page 77: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- ——- —

—- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

—- —

penne

—————

Page 78: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 79: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 80: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 81: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 82: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 83: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

11101001011

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 84: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

111101.

.....

....—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 85: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

111101.

.....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 86: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

Approche 1 worker thread / pate

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 87: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Avis?

Approche 1 worker thread / pate

Page 88: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Avis?-2400 threads ... Ca va pas la tête ?!?- context switches de malade-modèle pas scalable... ni raisonnable- il faut // d accord- mais plus finement-approche suivante !

Approche 1 worker thread / pate

Page 89: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Approche « pool de threads »

Page 90: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

1110010101...

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Approche « pool de thread »

Page 91: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Approche « pool de thread »

Page 92: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Approche « pool de thread »

Page 93: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

Oeufs bios 3.5 €

Oeufs bios 3.5 €

Approche « pool de thread »

Page 94: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

Gnocchi bio

5.4 €

penne bio

3.2 €

Approche « pool de thread »

Page 95: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

Gnocchi bio

5.4 €

penne bio

3.2 €

Approche « pool de thread »

Page 96: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

01100011010

11111000110

Approche « pool de thread »

Page 97: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

01100011010

11111000110

Approche « pool de thread »

Page 98: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

…11111000110

Approche « pool de thread »

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 99: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

11111000110

Approche « pool de thread »

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 100: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

11111000110

Approche « pool de thread »

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 101: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

Approche « pool de thread »

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 102: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Approche « pool de thread »Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 103: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

c est mieux, non?

Approche « pool de threads »

Page 104: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

race conditions ?!?

Approche « pool de threads »

Page 105: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer: concentrons nous sur les gnocchis !

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Pool de thread et race conditions…

Page 106: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

1110010101...

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Pool de thread et race conditions…

Page 107: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Pool de thread et race conditions…

Page 108: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Pool de thread et race conditions…

Page 109: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

Page 110: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

0001110010 ...

Page 111: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

carton +1.2 €

Page 112: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

carton +1.2 €

Page 113: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

carton +1.2 €

Page 114: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

5.4 €

Page 115: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

5.4 €

Page 116: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

5.4 €

Gnocchi bio

4.4 € !!!

!!!

Page 117: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

4.4 €

01100101100

… 5.4 €

Page 118: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

Gnocchi bio

4.4 €

01100101100

5.4 €

Page 119: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Pool de thread et race conditions…

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

01100101100

1100010111 …

5.4 €

4.4 €

Page 120: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

Pool de thread et race conditions…

01100101100

1100010111 …

5.4 €

4.4 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 121: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

Pool de thread et race conditions…

01100101100

1100010111 …

5.4 €

4.4 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

dernier prix pour les gnocchis: 4.4 € !!!

Page 122: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

Pool de thread et race conditions…

1100010111 …

4.4 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

dernier prix pour les gnocchis: 4.4 € !!!

Page 123: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Probleme:- le dernier prix publié pour les gnocchis

ne tient pas compte de la dernières info reçue

Pool de thread et race conditions…

Page 124: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Probleme:- le dernier prix publié pour les gnocchis

ne tient pas compte de la dernières info reçue

solution:- Il faut que les prix soient publiés en

respectant l ordre des inputs reçus

Pool de thread et race conditions…

Page 125: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

respecter l ordre OK, mais comment?

Approche Multi tasks / thread pool

Page 126: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

respecter l ordre OK, mais comment?

Approche Multi tasks / thread pool

avec des locks?

Page 127: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

les vieux maitres en multithreading ont un dicton :

¨qui dit lock ...

Approche Multi tasks / thread pool

Page 128: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

les vieux maitres en multithreading ont un dicton :

¨qui dit lock ...

Approche Multi tasks / thread pool

... dit deadlock¨

Page 129: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

1. Protéger l acces à nos ressources (pates  dans un monde // et asynchrone

2. pas de deadlock - donc pas de lock ni de wait sans timeout dans le code du pricer

3. pas d expertise de dingue obligatoire en multithreading

en resume, on veut:

Approche Multi tasks / thread pool

Page 130: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

On veut rendre la programmation reactive

accessible à tous et sans danger

En réalité si on résume encore +

Page 131: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Notre solution:

Programmation reactive pour tous !

Page 132: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Notre solution:

Programmation reactive pour tous !

¨Le sequencer¨

Page 133: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

¨Le sequencer¨- un pattern qui garantit l ordre d execution des

tâches associées à un ¨état¨ donnéex: un stream de prix, une négociation, un workflow, etc.

!

- Maintient la cohérence de cet état dans un environnement complètement asynchrone et //

Programmation reactive pour tous !

Page 134: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Programmation reactive pour tous !

¨Le sequencer¨

Page 135: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Programmation reactive pour tous !

¨Le sequencer¨

8 9

!

1 2

1 2 3

Page 136: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Programmation reactive pour tous !

¨Le sequencer¨

8 9

!

1 2

1 2 3

Page 137: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Programmation reactive pour tous !

¨Le sequencer¨

8 9

!

1 2

1 2 3

Page 138: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Programmation reactive pour tous !

¨Le sequencer¨

8 9

!

1 2

1 2 3

Page 139: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Programmation reactive pour tous !

¨Le sequencer¨

8 9

!

1 2

1 2 3

Page 140: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le sequencer en post-it

Sequencer gnocchi

gnocchi

classe qui agrège un sequencer

Page 141: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le sequencer en post-it

Sequencer gnocchi

gnocchi

classe qui agrège un sequencer

le sequencer a qui on confie des

tâches a ¨sequencer¨

Page 142: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le sequencer en post-it

Sequencer gnocchi

gnocchi

classe qui agrège un sequencer

le sequencer a qui on confie des

tâches a ¨sequencer¨

interface Sequencer{ void dispatch(Task task); }

programmation asynchrone

Page 143: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 144: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

1110010101...

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 145: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 146: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 147: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 148: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

0110110101…

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 149: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

0110110101…

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 150: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 151: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 152: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 153: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 154: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 155: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 156: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

farine 0.5 €

Sequ gnocchi

gnocchi

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 157: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

farine 0.5 €

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 158: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

farine 0.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 159: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 160: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 161: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 162: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 163: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 164: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 165: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le sequencer en action

on REFAIT LE MATCH ?

Page 166: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 167: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

1110010101...

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 168: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 169: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 170: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 171: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

0110110101…

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 172: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

0110110101…

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 173: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 174: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 175: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 176: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 177: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 178: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 179: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

farine 0.5 €

Sequ gnocchi

gnocchi

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 180: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

farine 0.5 €

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 181: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

farine 0.5 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 182: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 183: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 184: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 185: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 186: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 187: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Le sequencer en action

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 188: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Et sous le capot du sequencer ?

Page 189: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

l’implémentation elle, utilise des locks ou des CAS

(Compare and Swap) en interne

« Complexité » encapsulée

Page 190: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pour un usage d’une simplicité …

!

interface Sequencer{ void dispatch(Task task); }

Page 191: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Autres avantages du Sequencer…

simplicité lisibilité fiabilité

non bloquant !

en revanche ... !

il va nous manquer un autre outil ...

Page 192: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Un autre outil ?!?

¨et oui ...

Page 193: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Un autre outil ?!?

¨et oui ... de l eau qui

dort, se méfier il faut ¨

Page 194: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Le problème des pics de charge

Comment les absorber sans prendre de la

latence?

Page 195: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi epinard

gnocchi epinard

épinard 1.5 €

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Sequ rotini

epinard

rotini epinard

épinard 1.5 €

Sequ pici

epinard

Pici epinard

épinard 1.5 €

système déjà chargé

Page 196: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 197: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

1110010101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 198: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 199: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 200: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

100100101...

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 201: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

farine bio 1.1 €

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 202: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 203: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

100100101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 204: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

oeufs bios 2.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 205: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

0111100101...

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 206: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 207: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

100100101...

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 208: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

blé bios 0.2 € . .. ..

.. .. ..

.. .. .. .

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 209: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

blé bios 0.2 € . .. ..

.. .. ..

.. .. .. .

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

0111100101...

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 210: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 211: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 212: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 213: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 214: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 215: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

01100101100…

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 216: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

01100101100…

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 217: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

Page 218: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

Page 219: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

!!!

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

!!!

Page 220: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Exemple de pic de charge

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

prix plus frais !!!

!!! vieux prix

Page 221: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

comment dépenser sa CPU a bon escient ?

En cas de pic de charge…

Page 222: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

comment dépenser sa CPU a bon escient ?

En cas de pic de charge…

la conflation

Page 223: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

¨ C est le moyen d amortir les pics de charge quand le système est déjà bien occupé ¨

La conflation

Page 224: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

le Balking Le dernier message sur le même sujet vient remplacer le précédent. ¨Annule et remplace¨

2 types de conflation:

Oeufs bios 3.5 €

Oeufs bios 4.1 €

Oeufs bios 4.1 €

t1 t0 t2

Page 225: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

le Balking Le dernier message sur le même sujet vient remplacer le précédent. ¨Annule et remplace¨

2 types de conflation:

le merge le dernier message sur le même sujet vient fusionner son contenu avec le précédent

Oeufs bios 3.5 €

Oeufs bios 4.1 €

Oeufs bios 4.1 €

t1 t0 t2

Oeufs bios 5kg: 20 €

Oeufs bios 1kg: 5 €

Oeufs bios 1 kg: 5 €

5 kg: 20 €

t0t1 t2

Page 226: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

La conflation n est pas de

l échantillonage !

A ne pas confondre avec…

Page 227: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi epinard

gnocchi epinard

épinard 1.5 €

Même pic de charge avec conflation

Sequ rotini

epinard

rotini epinard

épinard 1.5 €

Sequ pici

epinard

Pici epinard

épinard 1.5 €

système déjà chargé

Page 228: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Même pic de charge avec conflation

Page 229: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

1110010101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Même pic de charge avec conflation

Page 230: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Même pic de charge avec conflation

Page 231: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Même pic de charge avec conflation

Page 232: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

100100101...

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Même pic de charge avec conflation

Page 233: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

farine bio 1.1 €

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Même pic de charge avec conflation

Page 234: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

Page 235: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

100100101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

Page 236: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

oeufs bios 2.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

Page 237: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.9 €

Même pic de charge avec conflation

Page 238: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

0111100101... farine

bio 1.1 €Oeufs

bios 3.9 €

Même pic de charge avec conflation

Page 239: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €

farine bio 1.1 €Oeufs

bios 3.9 €

Même pic de charge avec conflation

Page 240: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

Page 241: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

100100101... farine

bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

Page 242: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

blé bios 0.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

Page 243: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

blé bios 0.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Même pic de charge avec conflation

0111100101...

Page 244: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…OEUFS

BIOS 1.7 €

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 245: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 246: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 247: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 248: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 249: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 250: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100…

01100101100…

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 251: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100…

01100101100…

01100101100…

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 252: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 1.7 €

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €

Page 253: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 1.7 €

Même pic de charge avec conflation

blé bios 0.2 €

farine bio 1.1 €

prix frais ;-/ engorgement limité

Page 254: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Back pressure obligatoire !

¨la conflation ne s exerce que sur un système déjà occupé ¨

Page 255: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Page 256: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

1110010101...

Page 257: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

Page 258: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

Page 259: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

Page 260: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

100100101...

Oeufs bios 3.5 €

Page 261: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Page 262: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Page 263: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Page 264: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

100100101...

Page 265: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

Page 266: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

Page 267: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

0111100101...

Page 268: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Page 269: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Page 270: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

100100101...

Page 271: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

blé bios 0.2 €

Page 272: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

blé bios 0.2 €

0111100101...

Page 273: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €Blé

bio 0.2 €

Oeufs bios 1.7 €

Page 274: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

Oeufs bios 1.7 €

Page 275: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

oeufs bios 1.7 €

Page 276: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

oeufs bios 1.7 €

Page 277: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

L’impact négatif des buffers intermédiaires …

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

oeufs bios 1.7 €

prend du retard par le centre !!!

Page 278: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

… pour que la conflation soit effective…

évitez les buffer ou les files

intermédiaires !

Page 279: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Pour juguler les pics de charge

Donc…

Page 280: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Facteurs clés pour le succès

•L’importance de la modélisation de votre //isme !

•L’importance de la mesure

SLA percentiles !

Page 281: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

un avis, maitre ?

¨un ensemble de propriétés, un

système Réactif est ¨

Page 282: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Agenda

•Banque d’investissement & marchés électroniques

•Construisons ensemble un « Pricer »

•Reactive Manifesto & Conclusion

Page 283: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Reactive manifesto

react to events react to load

traits abordés aujourd’hui

Page 284: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Etre réactif …

Ce n’est pas un marteau en or

Page 285: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Etre réactif …

C’est une forme particulière de design

Page 286: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Une forme de design …

… qui a besoin de nouvelles patterns

Page 287: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Etre réactif …

1. Ce n’est pas un marteau en or

2. C’est une forme particulière de design

3. Qui a besoin de nouvelles patterns

Page 288: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Etre réactif …

1. Ce n’est pas un marteau en or

2. C’est une forme particulière de design

3. Qui a besoin de nouvelles patterns

Merci pour votre attention !

Page 289: Faible latence haut debit Devoxx FR 2014

@cyrdup @tpierrain#ReactFin

Quelques références1. Sites / blogs

• http://www.reactivemanifesto.org/

• http://mechanical-sympathy.blogspot.fr/ (Martin THOMPSON)

• http://dupdob.wordpress.com/ (many cores)

• http://tpierrain.blogspot.fr/ (use case driven)

2. Vidéos

• Metrics, Metrics everywhere (Coda HALE)https://www.youtube.com/watch?v=czes-oa0yik

• Vidéo: How NOT to measure latency (Gil TENE) http://www.infoq.com/presentations/latency-pitfalls

• React2014: https://www.youtube.com/user/reactconf/videos

3. Ouvrage:

• Release It!: Design and deploy prod ready software (Michael T. NYGARD)