Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Duct-tape streaming at scale

Duct-tape streaming at scale

En cinq ans, a Criteo, le volume d'événements métier – transmis, traités et importés dans un dépôt central – est passé de “un peu” à “hein, quoi, tout ça ?” (6 millions de messages/seconde dans 7 datacenters, le tout déversé dans l’un des plus gros clusters Hadoop d’Europe).

C’est pour nous l’occasion de décrire les choix successifs et l’évolution organique d’un système d’import de logs métier, allant d’une instance de MySQL à une tripotée de clusters Kafka et un peu de Mesos, en passant par du rsyslog et beaucoup de Bash.

S’occuper d’un système distribué un tantinet sollicité, c’est aussi mille raisons d'être appelé en pleine nuit, de se heurter à des limitations théoriques ou physiques, et de développer un pessimisme serein.

Toutes choses qui seront narrées à deux voix par l’architecte/codeur/barbu des origines et l’un des membres de l’équipe qui a pris la suite.

Session donnée à Devoxx 2016 avec Serge Danzanvilliers

Yann Schwartz

April 25, 2016
Tweet

More Decks by Yann Schwartz

Other Decks in Programming

Transcript

  1. C’est pas mal kafka • Cluster • Failover ◦ Réplication

    ◦ Binaire ◦ Pull vs. push ◦ Streaming ?
  2. C’est pas de ma faute • Le syndrome du deuxième

    système • “Good enough” • Chemin de transition
  3. May you live in interesting times • Jumeaux maléfiques •

    Le monde selon ARP • Bob the Builder
  4. Buffers, buffers everywhere • Caches, buffers, batches, queues : le

    streaming est une illusion • Unbounded queues : neverending tears • Mieux vaut perdre des données que perdre un système
  5. Savoir être médiocre ▪ Si tout est critique, rien ne

    l’est ▪ Caveat Emptor (le client doit gérer) ▪ On ne dit pas “perte de données”, mais “échantillonnage”
  6. TL;DR • La complexité est une fonction strictement croissante •

    Choisir explicitement son niveau d’exigence