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

Vert.x c'est bon pour dans ton corps

Vert.x c'est bon pour dans ton corps

Présentation de la plateforme Vert.x, exemples de code, présentation du projet.

Aurélien Maury

June 13, 2013
Tweet

More Decks by Aurélien Maury

Other Decks in Programming

Transcript

  1. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Vanité 2 @aurelienmaury
  2. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Début Fin Cékoidon I II III IV Aperçu Usages Ecosystème 3 Projet
  3. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Vous pouvez choisir parmi plusieurs langages, ou les mixer dans une même application ! ... sans être simpliste. Quelques lignes su!sent à faire une application performante et scalable. Les applications peuvent être clusterisées et reliées par un bus de message partagé. Modèle de concurrence simple, qui vous libère des contraintes habituelles du multi- threading. Concurrent Polyglotte Simple Scalable Une plateforme 5
  4. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Architecture 6 Verticle Event loop Module Worker Background thread pool Bus de message Services core
  5. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Unité de déploiement Peut invoquer le déploiement d’autres Verticles Les Verticles sont répartis sur un ensemble d’Event Loop, un par coeur CPU Destinés aux traitements non bloquants Verticle 7
  6. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Verticle : déploiement 8
  7. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Mode de déploiement : n’importe quel Verticle peut être déployé en tant que Worker Partagent un Thread Pool de traitement Destiné aux traitements bloquants, pour décharger les Event Loop Worker 9
  8. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Worker : déploiement 10
  9. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Packaging, venant avec ses librairies. Un Verticle «main» dé"ni dans sa con"guration. Peut déployer des Verticles ou des Workers. Dépôt central géré sur Github Module 11
  10. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Module : déploiement 12
  11. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | PubSub, P2P, Request-Response WebSockets, SockJS ou SocketIO Lien entre les Verticles Messages en JSON, immuables Peut être mutualisé entre plusieurs instances Vert.x Bus de message 13
  12. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Bus de message 14
  13. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Divisez pour mieux règner 15 Non-bloquant Package Bloquant Services core
  14. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | My tailor is rich 16
  15. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Hazelcast Management de cluster en Peer-to-Peer Jackson Processeur JSON haute performance Netty NIO Client-Server framework Sous le capot 17
  16. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Pour Vert.x Multi-Reactor Polyglotte Bus de message clusterisable JVM Pour Node.JS Communauté forte Ecosystème beaucoup plus fourni ... l’autre ? Et comparé avec ... 18
  17. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | TCP Client-Serveur HTTP Client-Serveur WebSocket - SockJS - SocketIO File System Messaging 100% Asynchrone Services Core 21
  18. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Serveur HTTP haute performance Backend REST ultra-léger Proxy custom Système nerveux d’un SI ESB simple Frontal pour masquer un backend plus complexe dans une optique WOA Idées en vrac 22
  19. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Serveur web, contenu statique 23
  20. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Serveur web, contenu statique 24
  21. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Serveur web, contenu statique 25
  22. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Serveur web, contenu statique 26
  23. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | TCP Client-Serveur 27
  24. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | HTTP Client-Serveur 28
  25. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Client HTTP 29
  26. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | RouteMatcher 30
  27. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | 100% asynchrone Architecture simple, proche des Actors Force le couplage faible par le JSON Quelques lignes pour manipuler du lourd Véritable intégration polyglotte Chemin tracé pour la conception d’applications distribuées très performantes Unbelievable Uncle Tom là ! 31
  28. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Mongo Redis SocketIO JDBC Memcached Modules 33
  29. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Auth Manager Unzip Mailer Mustache Web-Server Modules 34
  30. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Template de projet pour module sur Github Des modules à tester. Pleins de modules utilitaires à ajouter à la boite à outils. Modules 35 Contribuez
  31. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Licence Apache 2.0 Fondation Eclipse Github : 2161 Stars - 407 Forks Stable : 1.3.1 En cours : 2.0.0-beta3 Le projet 37 Stuart Williams (@pidster) Architecte SpringSource Serial committer Apache Norman Maurer (@normanmaurer) Développeur core de Netty Auteur de «Netty In Action» Tim Fox (@timfox) Leader Vert.x ancien Lead développeur Section Messaging chez RedHat
  32. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Tech Radar 38 Entrée en octobre 2012 dans les Plateformes à garder à l’oeil Assess : «Vaut l’investigation pour comprendre dans quelle mesure cela impactera votre entreprise.»
  33. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | Template de projet avec Gradle Archetypes et plugins Maven Outils de test Intégration IDE sans douleur Debugging IDE sans douleur En finalisation 39 Focus de la 2.0 : L’expérience développeur design par @julienknebel
  34. www.xebia.fr | http://blog.xebia.fr | http://techtrends.xebia.fr Telephone : 33 (0)1 53

    89 99 99 | email : [email protected] | 156 bd Haussmann - 75008 Paris | C’est bon mangez en ! Testez, remontez des bugs, "xez en. Aidez au support de votre langage préféré. Faites des modules. Parlez en à vos amis non JVM-istes. Qu’est-ce qu’on fait ce soir Cortex ? 40 Comme tous les soirs Minus !