Alexandre Victoor | Devoxx

Alexandre Victoor
Alexandre Victoor Twitter

From Société Générale

Je suis un architecte "qui code" dans une grande banque française. Passionné par les challenges techniques de toutes sortes, je m'intéresse aux écosystèmes Java et .net . Fan de code propre, simple et efficace, je suis à l'origine de plusieurs plugins open source sonar

Blog: https://www.sgcib.com

archisec Architecture, Performance et Securité

Avro: la souplesse du JSON, les performances du binaire

Quickie

Votre code, la structure de vos données, les APIs que vous exposez évoluent.
Avec Avro dites adieu aux problèmes de compatibilité et à l'enfer des montées de versions.
Au départ créé pour stocker des données dans des fichiers Hadoop, Avro est aujourd'hui un projet Apache à part entière.
Si vous avez besoin d'interopérabilité, ça marche aussi ! Des implémentations existent dans de nombreux languages. Microsoft a même sorti officiellement en 2014 une version dotnet en C#.
Si vous avez des besoin de performances, de faire communiquer deux applications sans les lier fortement, ou bien d'implémenter un mécanisme de persistance, cette session est pour vous !

archisec Architecture, Performance et Securité

Un monde où 1 ms vaut 100 M€

Conference

Notre code repose sur de nombreuses abstractions: frameworks, patterns, languages, JVM et OS. Il en résulte souvent des performances sous-optimales au regards du matériel à notre disposition. Exploiter pleinement ce dernier repousse le besoin de distribution d'un problème et permet de scaler à moindre coût. C'est même indispensable pour des applications de trading qui nécessite une latence inférieure à 10us. Notre code se doit alors de fonctionner en harmonie avec le matériel (Mechanical Sympathy de Martin Thompson). Cela signifie, par exemple, écrire du code qui est compatible avec les optimisations du processeur, minimise la contention (lock free) ou favorise un accès séquentiel à la mémoire.

Lors de ce talk, nous vous présenterons le fonctionnement d'un processeur moderne, le modèle mémoire de la JVM et les techniques qui permettent d'obtenir des performances optimales. Du code Java viendra en support.