Faible latence haut debit Devoxx FR 2014

921 vues

Publié le

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.

Publié dans : Logiciels
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
921
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
12
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Faible latence haut debit Devoxx FR 2014

  1. 1. @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
  2. 2. @cyrdup @tpierrain#ReactFin Qui sommes nous ? use case driven (blog) Many Cores (blog)
  3. 3. @cyrdup @tpierrain#ReactFin Agenda •Banque d’investissement & marchés électroniques •Construisons ensemble un « Pricer » •Reactive Manifesto & Conclusion
  4. 4. @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
  5. 5. http://upload.wikimedia.org/wikipedia/commons/b/b8/Sao_Paulo_Stock_Exchange.jpg
  6. 6. @cyrdup @tpierrain#ReactFin Les activités de marché
  7. 7. @cyrdup @tpierrain#ReactFin Les activités de marché
  8. 8. @cyrdup @tpierrain#ReactFin Les activités de marché
  9. 9. @cyrdup @tpierrain#ReactFin Les activités de marché
  10. 10. Carnet d’ordres
  11. 11. Carnet d’ordres Prix
  12. 12. Carnet d’ordres Prix
  13. 13. Carnet d’ordres Prix Moteur
  14. 14. Carnet d’ordres Prix Moteur
  15. 15. Carnet d’ordres Prix Moteur
  16. 16. @YourTwitterHandle#DVXFR14{session hashtag} @cyrdup @tpierrain#ReactFin PAS COM PRIS?
  17. 17. @cyrdup @tpierrain#ReactFin Le supermarché
  18. 18. @cyrdup @tpierrain#ReactFin Le supermarché
  19. 19. @cyrdup @tpierrain#ReactFin Les acteurs Investisseurs
  20. 20. @cyrdup @tpierrain#ReactFin Les acteurs Investisseurs Market Makers
  21. 21. @cyrdup @tpierrain#ReactFin Les acteurs Investisseurs Market Makers Scalpers
  22. 22. @cyrdup @tpierrain#ReactFin Les automates Algo trading
  23. 23. @cyrdup @tpierrain#ReactFin Les automates Algo trading Arbitrage
  24. 24. @cyrdup @tpierrain#ReactFin Les enjeux •Complexité ! •Fiabilité/disponibilité ! •Capacité en volume ! •Latence ! !
  25. 25. @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
  26. 26. @cyrdup @tpierrain#ReactFin Agenda •Banque d’investissement & marchés électroniques •Construisons ensemble un « Pricer » •Reactive Manifesto & Conclusion
  27. 27. Le Pasta Pricer
  28. 28. @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 !
  29. 29. @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
  30. 30. @cyrdup @tpierrain#ReactFin Designons notre Pasta pricer! en mode 
 ¨EVENT STORMING¨
  31. 31. @cyrdup @tpierrain#ReactFin Bases pour notre représentation Pasta pricer dans la même boite...
  32. 32. @cyrdup @tpierrain#ReactFin Bases pour notre représentation Pasta pricer des flux d evenementson 
 reçoit .. on 
 publie .. dans la même boite...
  33. 33. @cyrdup @tpierrain#ReactFin Bases pour notre représentation Pasta pricer 3 étapes Calculerdecoder encoder
  34. 34. @cyrdup @tpierrain#ReactFin Pasta pricer 3 étapes Calc Encdec Bases pour notre représentation
  35. 35. @cyrdup @tpierrain#ReactFin Pasta pricer 3 étapes Calc Encdecinputs Bases pour notre représentation
  36. 36. @cyrdup @tpierrain#ReactFin Pasta pricer 3 étapes Calc Encdecinputs outputs Bases pour notre représentation
  37. 37. @cyrdup @tpierrain#ReactFin Pasta pricer 3 étapes Calc Encdecinputs outputs pennepennepenne pennepennepennepenne gnocchi pennepennepenne pennepennepennepenne penne 2400 pates différentes Bases pour notre représentation
  38. 38. @cyrdup @tpierrain#ReactFin Designons notre Pasta pricer! on commence?
  39. 39. @cyrdup @tpierrain#ReactFin Approche mono thread Calc Encdec Pasta pricer pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— —
  40. 40. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer 111001 0101... pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  41. 41. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  42. 42. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Oeufs 1.5 € Approche mono thread
  43. 43. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Oeufs 1.5 € Approche mono thread
  44. 44. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Oeufs 1.5 € Approche mono thread
  45. 45. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  46. 46. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Approche mono thread Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— —
  47. 47. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer gnocchi Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Oeufs 1.5 € Approche mono thread
  48. 48. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer gnocchi Gnocchi 5.4 € Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  49. 49. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer gnocchi Gnocchi 5.4 € Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  50. 50. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer gnocchi 011001 01100 … Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  51. 51. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer 011001 01100 … Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  52. 52. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer penne Oeufs 1.5 € Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  53. 53. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer penne penne 2.1 € Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  54. 54. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer penne penne 2.1 € Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  55. 55. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer penne 011001 01100 … Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  56. 56. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer 011001 01100 … Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  57. 57. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Oeufs 1.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen nepen ne pen ne pen ne —- — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread
  58. 58. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Oeufs 1.5 € pen ne ——— — —— pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — Approche mono thread 01100 10110 0…
  59. 59. @cyrdup @tpierrain#ReactFin Oeufs 1.5 € Calc Encdec Pasta pricer pen ne pen ne pen ne —- — —— Approche mono thread 01100 10110 0…
  60. 60. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Oeufs 1.5 € pen ne pen ne ——- Approche mono thread 01100 10110 0…
  61. 61. @cyrdup @tpierrain#ReactFin Calc Encdec Pasta pricer Approche mono thread pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— — pen ne pen ne pen ne pen ne pen ne pen ne pen ne ———— —
  62. 62. @cyrdup @tpierrain#ReactFin avis sur la solution? Approche mono thread
  63. 63. @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
  64. 64. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi
  65. 65. @cyrdup @tpierrain#ReactFin Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi dec encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ... 111001 0101...
  66. 66. @cyrdup @tpierrain#ReactFin Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi dec encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ... Oeufs bios 3.5 €
  67. 67. @cyrdup @tpierrain#ReactFin Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi dec encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...Oeufs bios 3.5 €
  68. 68. @cyrdup @tpierrain#ReactFin Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi dec encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ... oeufs 3.5 € oeufs 3.5 € oeufs 3.5 € oeufs 3.5 €
  69. 69. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi oeufs 3.5 € oeufs 3.5 € oeufs 3.5 € oeufs 3.5 €
  70. 70. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi penne 5.4 € .... .... € ...... 8.2 € .... €
  71. 71. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi penne 5.4 € .... .... € ...... 8.2 € .... €
  72. 72. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi 1110 1001 011 1110 0... 111101 . ..... ....
  73. 73. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — pen ne ——— —— —- — —- — —- — ——— —— gno cchi 1110 1001 011 1110 0... 111101 . ..... ....
  74. 74. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — —- — —- — —- — ——— —— gno cchi 1110 1001 011 1110 0... 111101 . ..... .... pen ne ——— ——
  75. 75. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — —- — —- — ——— —— gno cchi 1110 1001 011 1110 0... 111101 . ..... .... —- — pen ne ——— ——
  76. 76. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 1110 1001 011 1110 0... 111101 . ..... .... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  77. 77. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 1110 1001 011 1110 0... 111101 . ..... .... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  78. 78. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 1110 1001 011 1110 0... 111101 . ..... .... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  79. 79. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 1110 1001 011 1110 0... 111101 . ..... .... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  80. 80. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 1110 1001 011 1110 0... 111101 . ..... .... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  81. 81. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 1110 1001 011 111101 . ..... .... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  82. 82. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 111101 . ..... ....—- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  83. 83. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate 111101 . ..... —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  84. 84. @cyrdup @tpierrain#ReactFin encCalc encCalc encCalc encCalc encCalc encCalc encCalc encCalc ...dec Pasta pricer Approche 1 worker thread / pate —- — —- — —- — ——— —— gno cchi —- — pen ne ——— ——
  85. 85. @cyrdup @tpierrain#ReactFin Avis? Approche 1 worker thread / pate
  86. 86. @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
  87. 87. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Approche « pool de threads »
  88. 88. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec 111001 0101... pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Approche « pool de thread »
  89. 89. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec Oeufs bios 3.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Approche « pool de thread »
  90. 90. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec Oeufs bios 3.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Approche « pool de thread »
  91. 91. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio penne bio Oeufs bios 3.5 € Oeufs bios 3.5 € Approche « pool de thread »
  92. 92. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio penne bio Gnocchi bio 5.4 € penne bio 3.2 € Approche « pool de thread »
  93. 93. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio penne bio Gnocchi bio 5.4 € penne bio 3.2 € Approche « pool de thread »
  94. 94. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio penne bio 011000 11010 … 111110 00110 … Approche « pool de thread »
  95. 95. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio penne bio 011000 11010 … 111110 00110 … Approche « pool de thread »
  96. 96. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... 011000 11010 … 111110 00110 … Approche « pool de thread » pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi
  97. 97. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... 011000 11010 … 111110 00110 … Approche « pool de thread » pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi
  98. 98. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... 011000 11010 … 111110 00110 … Approche « pool de thread » pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi
  99. 99. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... 011000 11010 … Approche « pool de thread » pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi
  100. 100. @cyrdup @tpierrain#ReactFin Approche « pool de thread » Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi
  101. 101. @cyrdup @tpierrain#ReactFin c est mieux, non? Approche « pool de threads »
  102. 102. @cyrdup @tpierrain#ReactFin race conditions ?!? Approche « pool de threads »
  103. 103. @cyrdup @tpierrain#ReactFin Pasta pricer: concentrons nous sur les gnocchis ! Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Pool de thread et race conditions…
  104. 104. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec 111001 0101... pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Pool de thread et race conditions…
  105. 105. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec Oeufs bios 3.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Pool de thread et race conditions…
  106. 106. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec Oeufs bios 3.5 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi Pool de thread et race conditions…
  107. 107. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. ..
  108. 108. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. 000111 0010 ...
  109. 109. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. carton +1.2 €
  110. 110. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. carton +1.2 €
  111. 111. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. gnocchi bio carton +1.2 €
  112. 112. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. gnocchi bio Gnocchi bio 5.4 €
  113. 113. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Oeufs bios 3.5 € Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. gnocchi bio Gnocchi bio 5.4 €
  114. 114. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. gnocchi bio Gnocchi bio 5.4 € Gnocchi bio 4.4 € !!! !!!
  115. 115. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. gnocchi bio Gnocchi bio 4.4 € 011001 01100 … 5.4 €
  116. 116. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. Gnocchi bio 4.4 € 011001 01100 … 5.4 €
  117. 117. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... gnocchi bio Pool de thread et race conditions… pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne ... .. .. 011001 01100 … 110001 0111 … 5.4 € 4.4 €
  118. 118. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... Pool de thread et race conditions… 011001 01100 … 110001 0111 … 5.4 € 4.4 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi
  119. 119. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... Pool de thread et race conditions… 011001 01100 … 110001 0111 … 5.4 € 4.4 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi dernier prix pour les gnocchis: 4.4 € !!!
  120. 120. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec pen ne pen ne pen ne pen ne .... ... pen ne pen ne pen ne pen ne .. .... Pool de thread et race conditions… 110001 0111 … 4.4 € pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne pen ne Gno cchi dernier prix pour les gnocchis: 4.4 € !!!
  121. 121. @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…
  122. 122. @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…
  123. 123. @cyrdup @tpierrain#ReactFin respecter l ordre OK, 
 mais comment? Approche Multi tasks / thread pool
  124. 124. @cyrdup @tpierrain#ReactFin respecter l ordre OK, 
 mais comment? Approche Multi tasks / thread pool avec des locks?
  125. 125. @cyrdup @tpierrain#ReactFin les vieux maitres en multithreading ont un dicton : ¨qui dit lock ... Approche Multi tasks / thread pool
  126. 126. @cyrdup @tpierrain#ReactFin les vieux maitres en multithreading ont un dicton : ¨qui dit lock ... Approche Multi tasks / thread pool ... dit deadlock¨
  127. 127. @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
  128. 128. @cyrdup @tpierrain#ReactFin On veut rendre la programmation reactive accessible à tous et sans danger En réalité si on résume encore +
  129. 129. @cyrdup @tpierrain#ReactFin Notre solution: Programmation reactive pour tous !
  130. 130. @cyrdup @tpierrain#ReactFin Notre solution: Programmation reactive pour tous ! ¨Le sequencer¨
  131. 131. @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 !
  132. 132. @cyrdup @tpierrain#ReactFin Programmation reactive pour tous ! ¨Le sequencer¨
  133. 133. @cyrdup @tpierrain#ReactFin Programmation reactive pour tous ! ¨Le sequencer¨ 8 9 ! 1 2 1 2 3
  134. 134. @cyrdup @tpierrain#ReactFin Programmation reactive pour tous ! ¨Le sequencer¨ 8 9 ! 1 2 1 2 3
  135. 135. @cyrdup @tpierrain#ReactFin Programmation reactive pour tous ! ¨Le sequencer¨ 8 9 ! 1 2 1 2 3
  136. 136. @cyrdup @tpierrain#ReactFin Programmation reactive pour tous ! ¨Le sequencer¨ 8 9 ! 1 2 1 2 3
  137. 137. @cyrdup @tpierrain#ReactFin Programmation reactive pour tous ! ¨Le sequencer¨ 8 9 ! 1 2 1 2 3
  138. 138. @cyrdup @tpierrain#ReactFin Le sequencer en post-it Sequencer gnocchi gnocchi classe qui agrège un sequencer
  139. 139. @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¨
  140. 140. @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
  141. 141. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  142. 142. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 111001 0101... Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  143. 143. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  144. 144. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  145. 145. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Sequ gnocchi gnocchi Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  146. 146. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Sequ gnocchi gnocchi 011011 0101… Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  147. 147. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011011 0101… Sequ gnocchi gnocchi Oeufs 1.5 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  148. 148. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  149. 149. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  150. 150. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  151. 151. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  152. 152. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  153. 153. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer farine 0.5 € Sequ gnocchi gnocchi 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  154. 154. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011001 01100 … farine 0.5 € Sequ gnocchi gnocchi Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  155. 155. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi farine 0.5 € 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  156. 156. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi 011001 01100 … farine 0.5 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  157. 157. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi GNOCCHI 6.1 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  158. 158. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi GNOCCHI 6.1 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  159. 159. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  160. 160. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  161. 161. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  162. 162. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  163. 163. @cyrdup @tpierrain#ReactFin Le sequencer en action on REFAIT LE MATCH ?
  164. 164. @cyrdup @tpierrain#ReactFin Pasta pricer Calc Calc Calc Enc Enc Enc dec Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  165. 165. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 111001 0101... Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  166. 166. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  167. 167. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  168. 168. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Sequ gnocchi gnocchi Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  169. 169. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Oeufs 1.5 € Sequ gnocchi gnocchi 011011 0101… Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  170. 170. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011011 0101… Sequ gnocchi gnocchi Oeufs 1.5 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  171. 171. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  172. 172. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  173. 173. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  174. 174. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  175. 175. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  176. 176. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer farine 0.5 € Sequ gnocchi gnocchi 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  177. 177. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011001 01100 … farine 0.5 € Sequ gnocchi gnocchi Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  178. 178. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi farine 0.5 € 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  179. 179. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi 011001 01100 … farine 0.5 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  180. 180. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi GNOCCHI 6.1 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  181. 181. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi GNOCCHI 6.1 € Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  182. 182. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Sequ gnocchi gnocchi 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  183. 183. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  184. 184. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 011001 01100 … Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  185. 185. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Le sequencer en action SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchi SEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne
  186. 186. @cyrdup @tpierrain#ReactFin Et sous le capot du sequencer ?
  187. 187. @cyrdup @tpierrain#ReactFin l’implémentation elle, utilise des locks ou des CAS (Compare and Swap) en interne « Complexité » encapsulée
  188. 188. @cyrdup @tpierrain#ReactFin Pour un usage d’une simplicité … ! interface Sequencer{ void dispatch(Task task); }
  189. 189. @cyrdup @tpierrain#ReactFin Autres avantages du Sequencer… simplicité lisibilité fiabilité non bloquant ! en revanche ... ! il va nous manquer un autre outil ...
  190. 190. @cyrdup @tpierrain#ReactFin Un autre outil ?!? ¨et oui ...
  191. 191. @cyrdup @tpierrain#ReactFin Un autre outil ?!? ¨et oui ... de l eau qui dort, se méfier il faut ¨
  192. 192. @cyrdup @tpierrain#ReactFin Le problème des pics de charge Comment les absorber sans prendre de la latence?
  193. 193. @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 Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne Sequ rotini epinard rotini epinard épinard 1.5 € Sequ pici epinard Pici epinard épinard 1.5 € système déjà chargé
  194. 194. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. €
  195. 195. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé 111001 0101... . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. €
  196. 196. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé Oeufs bios 3.5 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. €
  197. 197. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé Oeufs bios 3.5 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. €
  198. 198. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé 100100 101... Oeufs bios 3.5 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. €
  199. 199. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé farine bio 1.1 € Oeufs bios 3.5 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. €
  200. 200. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € farine bio 1.1 €Oeufs bios 3.5 €
  201. 201. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé 100100 101... . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € farine bio 1.1 €Oeufs bios 3.5 €
  202. 202. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé oeufs bios 2.2 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € farine bio 1.1 €Oeufs bios 3.5 €
  203. 203. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € 011110 0101... oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  204. 204. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  205. 205. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € 100100 101... farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  206. 206. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne 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 €
  207. 207. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé blé bios 0.2 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € 011110 0101... farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  208. 208. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  209. 209. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  210. 210. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  211. 211. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  212. 212. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  213. 213. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne 0110010 1100… 0110010 1100… 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  214. 214. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne 0110010 1100… 0110010 1100… 0110010 1100… OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €Oeufs bios 3.5 €
  215. 215. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne Oeufs bios 3.5 € OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €
  216. 216. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne Oeufs bios 3.5 € OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 €
  217. 217. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne Oeufs bios 3.5 € !!! OEUFS BIOS 1.7 € blé bios 0.2 € farine bio 1.1 € oeufs bios 2.2 €farine bio 1.1 € !!!
  218. 218. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer Exemple de pic de charge SEQ Gno cchiSEQ farf alleSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ Gno cchiSEQ pen ne 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
  219. 219. @cyrdup @tpierrain#ReactFin comment dépenser sa CPU a bon escient ? En cas de pic de charge…
  220. 220. @cyrdup @tpierrain#ReactFin comment dépenser sa CPU a bon escient ? En cas de pic de charge… la conflation
  221. 221. @cyrdup @tpierrain#ReactFin ¨ C est le moyen d amortir les pics de charge quand le système est déjà bien occupé ¨ La conflation
  222. 222. @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
  223. 223. @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
  224. 224. @cyrdup @tpierrain#ReactFin La conflation n est pas de l échantillonage ! A ne pas confondre avec…
  225. 225. @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é
  226. 226. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € Même pic de charge avec conflation
  227. 227. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé 111001 0101... . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € Même pic de charge avec conflation
  228. 228. @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
  229. 229. @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
  230. 230. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé 100100 101... Oeufs bios 3.5 € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € Même pic de charge avec conflation
  231. 231. @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
  232. 232. @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
  233. 233. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé 100100 101... . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € farine bio 1.1 €Oeufs bios 3.5 € Même pic de charge avec conflation
  234. 234. @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
  235. 235. @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
  236. 236. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € 011110 0101... farine bio 1.1 €Oeufs bios 3.9 € Même pic de charge avec conflation
  237. 237. @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
  238. 238. @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
  239. 239. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € 100100 101... farine bio 1.1 €Oeufs bios 3.5 € Même pic de charge avec conflation
  240. 240. @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
  241. 241. @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 011110 0101...
  242. 242. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100…OEUFS BIOS 1.7 € Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 3.5 €
  243. 243. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer système déjà chargé . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  244. 244. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. .. .. .. . .. .. € . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  245. 245. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  246. 246. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  247. 247. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 0110010 1100… . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. . . . . .. 0110010 1100… 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  248. 248. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 0110010 1100… 0110010 1100… 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  249. 249. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer 0110010 1100… 0110010 1100… 0110010 1100… Même pic de charge avec conflation blé bios 0.2 € farine bio 1.1 €Oeufs bios 1.7 €
  250. 250. @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 €
  251. 251. @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é
  252. 252. @cyrdup @tpierrain#ReactFin Back pressure obligatoire ! ¨la conflation ne s exerce que sur un système déjà occupé ¨
  253. 253. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer L’impact négatif des buffers intermédiaires …
  254. 254. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer L’impact négatif des buffers intermédiaires … 111001 0101...
  255. 255. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer L’impact négatif des buffers intermédiaires … Oeufs bios 3.5 €
  256. 256. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer L’impact négatif des buffers intermédiaires … Oeufs bios 3.5 €
  257. 257. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer L’impact négatif des buffers intermédiaires … Oeufs bios 3.5 €
  258. 258. @cyrdup @tpierrain#ReactFin Calc Calc Calc Enc Enc Enc dec Pasta pricer L’impact négatif des buffers intermédiaires … 100100 101... Oeufs bios 3.5 €
  259. 259. @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 €
  260. 260. @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 €
  261. 261. @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 €
  262. 262. @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 € 100100 101...
  263. 263. @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 €
  264. 264. @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 €
  265. 265. @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 € 011110 0101...
  266. 266. @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 €
  267. 267. @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 €
  268. 268. @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 € 100100 101...
  269. 269. @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 €
  270. 270. @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 € 011110 0101...
  271. 271. @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 €
  272. 272. @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 €
  273. 273. @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 €
  274. 274. @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 €
  275. 275. @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 !!!
  276. 276. @cyrdup @tpierrain#ReactFin … pour que la conflation soit effective… évitez les buffer ou les files intermédiaires !
  277. 277. @cyrdup @tpierrain#ReactFin Pour juguler les pics de charge Donc…
  278. 278. @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 !
  279. 279. @cyrdup @tpierrain#ReactFin un avis, maitre ? ¨un ensemble de propriétés, un système Réactif est ¨
  280. 280. @cyrdup @tpierrain#ReactFin Agenda •Banque d’investissement & marchés électroniques •Construisons ensemble un « Pricer » •Reactive Manifesto & Conclusion
  281. 281. @cyrdup @tpierrain#ReactFin Reactive manifesto react to events react to load traits abordés aujourd’hui
  282. 282. @cyrdup @tpierrain#ReactFin Etre réactif … Ce n’est pas un marteau en or
  283. 283. @cyrdup @tpierrain#ReactFin Etre réactif … C’est une forme particulière de design
  284. 284. @cyrdup @tpierrain#ReactFin Une forme de design … … qui a besoin de nouvelles patterns
  285. 285. @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
  286. 286. @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 !
  287. 287. @cyrdup @tpierrain#ReactFin Quelques références 1. 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)

×