Vert.x - JDD 2013

1,237 views

Published on

Prezentacja stanowiąca wstęp do platformy/frameworka vert.x (http://vertx.io)
Prezentacja demonstrowana na JDD 2013 w Krakowie

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,237
On SlideShare
0
From Embeds
0
Number of Embeds
96
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Vert.x - JDD 2013

  1. 1. vert.x Bartek Zdanowski TouK
  2. 2. vert.x Bartek Zdanowski ●developer @ TouK ●co-organizator Confitura ●członek Warszawa JUG ●tata i mąż :) @BartekZdanowski
  3. 3. vert.x czym jest vertx?
  4. 4. vert.x ●w czym problem? rośnie liczba użytkowników mobilnych* 2,1 mld w 2012 7 mld w 2018 rośnie liczba urządzeń inteligentnych Internet of things - 30 mld do 2020!** IPv6 czeka na nich!       * http://mobithinking.com/mobile-marketing-tools/latest-mobile-stats/b ** http://en.wikipedia.org/wiki/Internet_of_Things
  5. 5. vert.x ●w czym problem?   Tomcat - 200 wątków = 200 połączeń reszta połączeń czeka…
  6. 6. vert.x ●w czym problem? ●1 wątek per zadanie    jeśli wątek czeka na wynik pracy, stoi cała kolejka zadań tradycyjne programowanie synchroniczne oczekiwanie na wynik (pętla!)
  7. 7. vert.x ●jak można inaczej?     1 zadanie = seria zdarzeń luźno powiązanych asynchronicznie Zostać poinformowanym o danych do przetworzenia oddać kontrolę do wątku, zamiast czekać na wynik operacji
  8. 8. vert.x ●jak można inaczej? trzeba czekać! ale może to robić 1 wątek! ● zdarzenie wątek
  9. 9. vert.x ●jak można inaczej? trzeba czekać! ale może to robić 1 wątek! ● zdarzenie reactor wątek
  10. 10. vert.x ●jak to robi vert.x?   multi-reactor pattern pulą wątków równa ilości core’ów
  11. 11. vert.x ●jak to robi vert.x?       od początku jest asynchroniczny sterowany zdarzeniowo rozproszony skalowalny bezpieczny wątkowo używa modelu aktora
  12. 12. vert.x demo •
  13. 13. vert.x ●bezpieczna wielowątkowość? class MyService { public synchronized Result doSomething(Data data) { //do some critical stuff } }
  14. 14. vert.x ●bezpieczna wielowątkowość? class MyService { public synchronized Result doSomething(Data data) { //do some critical stuff } } 1 wątek! •
  15. 15. vert.x ●bezpieczna wielowątkowość!     dany verticle uruchmiony zawsze w tym samym wątku oddzielne classloadery event bus shared data: maps, sets
  16. 16. vert.x Publisher Publisher - subcriber publish() //broadcast EventBus Subscriber1 Subscriber2
  17. 17. vert.x Publisher Publisher - subcriber send() //point-to-point EventBus Subscriber1 Subscriber2
  18. 18. vert.x ●EventBus      publish - wszyscy send - jeden, round robin kolejkowanie brak potwierdzenia wiadomości tylko w pamięci - ulotne!
  19. 19. vert.x ●EventBus   distributed - cluster sięga klienta przez SockJS
  20. 20. vert.x Publisher EventBus cluster! Subscriber1 Subscriber2
  21. 21. vert.x ●Jak vert.x się skaluje     wiele instancji jednego verticle’a cluster (automagicznie!) eventbus rozpina się pośród node’ów clustra wykorzystuje wszystkie core’y
  22. 22. vert.x ●Inne właściwości Polyglot Java, JavaScript, CoffeeScript, Ruby, Python, Groovy + Scala, Clojure i...PHP Moduły + publiczne repo Osadzanie vert.x w aplikacji Server Http + Sockety Filesystem API      
  23. 23. vert.x ●Konkurencja? ●node.js! really?! http://www.cubrid.org/blog/dev-platform/inside-vertx-comparison-with-nodejs/
  24. 24. vert.x ●Konkurencja? ●node.js! really?! http://www.cubrid.org/blog/dev-platform/inside-vertx-comparison-with-nodejs/
  25. 25. vert.x ●Podsumowanie      wysoce skalowalny bezpieczny i wielowątkowy rozproszony EventBus wielojęzyczny (polyglot) gotowy na 2020 - 30 mld urządzeń ;)
  26. 26. vert.x Demo
  27. 27. vert.x Dziękuję!

×