Vertx for worlddomination
-
Upload
codepitbull -
Category
Technology
-
view
1.409 -
download
0
description
Transcript of Vertx for worlddomination
![Page 1: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/1.jpg)
World Domination+ Vert.x
![Page 2: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/2.jpg)
![Page 3: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/3.jpg)
![Page 4: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/4.jpg)
![Page 5: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/5.jpg)
?
![Page 6: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/6.jpg)
![Page 7: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/7.jpg)
DOES!IT!
SCALE ?
![Page 8: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/8.jpg)
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
![Page 9: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/9.jpg)
![Page 10: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/10.jpg)
C10K
ZZZZZZZZZz
ZZZZZZZZZzZZZZZZZZZz
![Page 11: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/11.jpg)
CPU
ABC
42
1 2 3
4 5 6
7 8 90
![Page 12: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/12.jpg)
volatile
CyclicBarrier
AtomicBoolean
synchronized
ReentrantLock
AtomicInteger
AtomicCafe
Thread
ThreadPoolExecutor
RunnableCallable
![Page 13: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/13.jpg)
contentionI/O
![Page 14: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/14.jpg)
Single Thread
1 Thread w/ lock
2 Threads w/ lock
1 Thread w/ CAS
2 Threads w/ CAS
Volatile
0 12500 25000 37500 50000
Contention
https://github.com/codepitbull/lockperformance
![Page 15: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/15.jpg)
I/OAcces type cycles
L1- Cache 3
L2-Cache 14
RAM 250
Disk 41000000
Network 240000000
http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/
![Page 16: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/16.jpg)
Channel AChannel BChannel CChannel D
Selector
Event Handler 1Event Handler 2Event Handler 3Event Handler 4Event Handler 5
12.10.2012
![Page 17: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/17.jpg)
Quasar
![Page 18: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/18.jpg)
生 ॐ СВОБОДА
Microservice!
certified !
![Page 19: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/19.jpg)
Verticle
Module
1
0..n0..n
Verticle
Module
1
0..n
0..n
1
System
vert.x
module1
verticle 1 verticle 2
module2
verticle 3 verticle 4
![Page 20: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/20.jpg)
class MustacheRendererVerticle extends Verticle { DefaultMustacheFactory mf = new DefaultMustacheFactory( "de/codepitbull/javaland/mustache"); @Override def start() { vertx.eventBus.registerHandler("template.render", { message -> Mustache mustache = mf.compile(message.body()); StringWriter sw = new StringWriter(); mustache.execute(sw, new Example()).flush(); message.reply(sw.getBuffer().toString()); }); }}
![Page 21: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/21.jpg)
import org.vertx.groovy.platform.Verticleclass DemoVerticle extends Verticle { @Override Object start() { container.deployModule("io.vertx~mod-web-server~2.0.0-final", container.config) }}
io.vertx~mod-web-server~2.0.0-final
![Page 22: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/22.jpg)
officialcommunity
生 ॐ СВОБОДА
![Page 23: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/23.jpg)
Verticle Verticle Verticle Verticle
Verticle Verticle Verticle Verticle
![Page 24: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/24.jpg)
mod 2mod 1CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
vertx -cluster
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
mod 2mod 1
Multicast
![Page 25: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/25.jpg)
mod 2mod 1CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
vertx -hamod ? mod ? mod ? mod ?
mod ? mod ? mod ? mod ?
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
mod 2mod 1
![Page 26: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/26.jpg)
DEMO
![Page 27: Vertx for worlddomination](https://reader033.fdocuments.us/reader033/viewer/2022052618/554f5592b4c905b9508b5061/html5/thumbnails/27.jpg)
Leseliste/Quellen
http://martinfowler.com/articles/microservices.html http://www.cs.wustl.edu/~schmidt/PDF/reactor-siemens.pdf http://tutorials.jenkov.com/java-nio/selectors.html https://www.ibm.com/developerworks/java/library/j-jtp02225/ http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ http://lmax-exchange.github.io/disruptor/ https://github.com/codepitbull/lockperformance