SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
World Domination
+ Vert.x
?
DOES!
IT!
SCALE ?
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
C10K
ZZZZZZZZZz
ZZZZZZZZZz
ZZZZZZZZZz
CPU
ABC
42
1 2 3
4 5 6
7 8 9
0
volatile
CyclicBarrier
AtomicBoolean
synchronized
ReentrantLock
AtomicInteger
AtomicCafe
Thread
ThreadPoolExecutor
Runnable
Callable
contentionI/O
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
I/O
Acces 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/
Channel A
Channel B
Channel C
Channel D
Selector
Event Handler 1
Event Handler 2
Event Handler 3
Event Handler 4
Event Handler 5
12.10.2012
Quasar
生 ॐ СВОБОДА
Microservice!
certified !
Verticle
Module
1
0..n
0..n
Verticle
Module
1
0..n
0..n
1
System
vert.x
module1
verticle 1 verticle 2
module2
verticle 3 verticle 4
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());

});

}



}
import org.vertx.groovy.platform.Verticle



class 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
official
community
生 ॐ СВОБОДА
Verticle Verticle Verticle Verticle
Verticle Verticle Verticle Verticle
mod 2mod 1
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
vertx -cluster
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
mod 2mod 1
Multicast
mod 2mod 1
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
vertx -ha
mod ? mod ? mod ? mod ?
mod ? mod ? mod ? mod ?
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
mod 2mod 1
DEMO
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

Más contenido relacionado

La actualidad más candente

Programming OpenRISC on Altera De0_nano
Programming OpenRISC on Altera De0_nanoProgramming OpenRISC on Altera De0_nano
Programming OpenRISC on Altera De0_nano
Yi-Chiao
 
Cacti安装手册
Cacti安装手册Cacti安装手册
Cacti安装手册
Yiwei Ma
 
Server Room Configuration
Server Room ConfigurationServer Room Configuration
Server Room Configuration
Chandler Morgan
 
Top 10 juegos de psp actualizado
Top 10 juegos de psp actualizadoTop 10 juegos de psp actualizado
Top 10 juegos de psp actualizado
Brayan Ochoa
 

La actualidad más candente (20)

Nvvp streams-1
Nvvp streams-1Nvvp streams-1
Nvvp streams-1
 
Tweaking Google TV emulator
Tweaking Google TV emulatorTweaking Google TV emulator
Tweaking Google TV emulator
 
Tipos de socket
Tipos de socketTipos de socket
Tipos de socket
 
Programming OpenRISC on Altera De0_nano
Programming OpenRISC on Altera De0_nanoProgramming OpenRISC on Altera De0_nano
Programming OpenRISC on Altera De0_nano
 
Soquetes de Processadores
Soquetes de ProcessadoresSoquetes de Processadores
Soquetes de Processadores
 
最後の楽園の開発をちょこっとだけ手伝った話
最後の楽園の開発をちょこっとだけ手伝った話最後の楽園の開発をちょこっとだけ手伝った話
最後の楽園の開発をちょこっとだけ手伝った話
 
分散Key-valueストアkumofsの思想と設計
分散Key-valueストアkumofsの思想と設計分散Key-valueストアkumofsの思想と設計
分散Key-valueストアkumofsの思想と設計
 
ずばり動く!kumofs と ずばり動かないケース
ずばり動く!kumofs と ずばり動かないケースずばり動く!kumofs と ずばり動かないケース
ずばり動く!kumofs と ずばり動かないケース
 
Ubcd4 Win
Ubcd4 WinUbcd4 Win
Ubcd4 Win
 
Creación de máquinas virtuales basada en kernel usando qemu y virsh
Creación de máquinas virtuales basada en kernel usando qemu y virshCreación de máquinas virtuales basada en kernel usando qemu y virsh
Creación de máquinas virtuales basada en kernel usando qemu y virsh
 
OpenCR tutorial_icra2017
OpenCR tutorial_icra2017 OpenCR tutorial_icra2017
OpenCR tutorial_icra2017
 
Dev ops
Dev opsDev ops
Dev ops
 
Setting packet tracer
Setting packet tracerSetting packet tracer
Setting packet tracer
 
Arath cuadro}
Arath cuadro}Arath cuadro}
Arath cuadro}
 
Manage custom kernel builds
Manage custom kernel buildsManage custom kernel builds
Manage custom kernel builds
 
Cacti安装手册
Cacti安装手册Cacti安装手册
Cacti安装手册
 
Server Room Configuration
Server Room ConfigurationServer Room Configuration
Server Room Configuration
 
Computer
ComputerComputer
Computer
 
Top 10 juegos de psp actualizado
Top 10 juegos de psp actualizadoTop 10 juegos de psp actualizado
Top 10 juegos de psp actualizado
 
QNAP Selection Guide 2015
QNAP Selection Guide 2015QNAP Selection Guide 2015
QNAP Selection Guide 2015
 

Destacado

Destacado (16)

Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic search
 
Vertx – reactive toolkit
Vertx – reactive toolkitVertx – reactive toolkit
Vertx – reactive toolkit
 
Devoxx France 2014 - REST facile vert.x et Groovy
Devoxx France 2014 - REST facile vert.x et GroovyDevoxx France 2014 - REST facile vert.x et Groovy
Devoxx France 2014 - REST facile vert.x et Groovy
 
Netty @Apple: Large Scale Deployment/Connectivity
Netty @Apple: Large Scale Deployment/ConnectivityNetty @Apple: Large Scale Deployment/Connectivity
Netty @Apple: Large Scale Deployment/Connectivity
 
Vert.x – The problem of real-time data binding
Vert.x – The problem of real-time data bindingVert.x – The problem of real-time data binding
Vert.x – The problem of real-time data binding
 
50 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 850 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 8
 
Spring Framework Petclinic sample application
Spring Framework Petclinic sample applicationSpring Framework Petclinic sample application
Spring Framework Petclinic sample application
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8
 
gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at Square
 
LinkedIn Publisher Offerings - InShare / LinkedIn Today - Jan 2013
LinkedIn Publisher Offerings - InShare / LinkedIn Today - Jan 2013LinkedIn Publisher Offerings - InShare / LinkedIn Today - Jan 2013
LinkedIn Publisher Offerings - InShare / LinkedIn Today - Jan 2013
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 
nodejs vs vertx
nodejs vs vertxnodejs vs vertx
nodejs vs vertx
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
 
Retours Devoxx France 2016
Retours Devoxx France 2016Retours Devoxx France 2016
Retours Devoxx France 2016
 
Les Streams de Java 8
Les Streams de Java 8Les Streams de Java 8
Les Streams de Java 8
 

Similar a Vertx for worlddomination

OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007
Rex Tsai
 
RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?
Kristofferson A
 
Where Did My Cpu Go?
Where Did My Cpu Go?Where Did My Cpu Go?
Where Did My Cpu Go?
Enkitec
 

Similar a Vertx for worlddomination (20)

Virtual Machine Introspection with Xen
Virtual Machine Introspection with XenVirtual Machine Introspection with Xen
Virtual Machine Introspection with Xen
 
The Spectre of Meltdowns
The Spectre of MeltdownsThe Spectre of Meltdowns
The Spectre of Meltdowns
 
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMUSFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
 
MSI X99 Overclocking Motherboards
MSI X99 Overclocking MotherboardsMSI X99 Overclocking Motherboards
MSI X99 Overclocking Motherboards
 
Cassandra Day SV 2014: Basic Operations with Apache Cassandra
Cassandra Day SV 2014: Basic Operations with Apache CassandraCassandra Day SV 2014: Basic Operations with Apache Cassandra
Cassandra Day SV 2014: Basic Operations with Apache Cassandra
 
OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007
 
Maximizing Application Performance on Cray XT6 and XE6 Supercomputers DOD-MOD...
Maximizing Application Performance on Cray XT6 and XE6 Supercomputers DOD-MOD...Maximizing Application Performance on Cray XT6 and XE6 Supercomputers DOD-MOD...
Maximizing Application Performance on Cray XT6 and XE6 Supercomputers DOD-MOD...
 
44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?
 
Writing Metasploit Plugins
Writing Metasploit PluginsWriting Metasploit Plugins
Writing Metasploit Plugins
 
Super scaling singleton inserts
Super scaling singleton insertsSuper scaling singleton inserts
Super scaling singleton inserts
 
了解网络
了解网络了解网络
了解网络
 
Phytium 64 core cpu preview
Phytium 64 core cpu previewPhytium 64 core cpu preview
Phytium 64 core cpu preview
 
RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?
 
FortranCon2020: Highly Parallel Fortran and OpenACC Directives
FortranCon2020: Highly Parallel Fortran and OpenACC DirectivesFortranCon2020: Highly Parallel Fortran and OpenACC Directives
FortranCon2020: Highly Parallel Fortran and OpenACC Directives
 
Where Did My Cpu Go?
Where Did My Cpu Go?Where Did My Cpu Go?
Where Did My Cpu Go?
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?
 
Tesla Hacking to FreedomEV
Tesla Hacking to FreedomEVTesla Hacking to FreedomEV
Tesla Hacking to FreedomEV
 
Leveraging memory in sql server
Leveraging memory in sql serverLeveraging memory in sql server
Leveraging memory in sql server
 
HBase at Xiaomi
HBase at XiaomiHBase at Xiaomi
HBase at Xiaomi
 
了解Cpu
了解Cpu了解Cpu
了解Cpu
 

Más de codepitbull

Más de codepitbull (12)

Mögen die Tests mit dir sein
Mögen die Tests mit dir seinMögen die Tests mit dir sein
Mögen die Tests mit dir sein
 
Homeoffice
HomeofficeHomeoffice
Homeoffice
 
Vert.x kubernetes
Vert.x kubernetesVert.x kubernetes
Vert.x kubernetes
 
DDD and reactive frameworks
DDD and reactive frameworksDDD and reactive frameworks
DDD and reactive frameworks
 
Fast data und IoT
Fast data  und IoTFast data  und IoT
Fast data und IoT
 
Reactive Microservices mit Vert.x 3
Reactive Microservices mit Vert.x 3Reactive Microservices mit Vert.x 3
Reactive Microservices mit Vert.x 3
 
Continuous load testing
Continuous load testingContinuous load testing
Continuous load testing
 
Reactive streams
Reactive streamsReactive streams
Reactive streams
 
Eventsourcing ftw
Eventsourcing ftwEventsourcing ftw
Eventsourcing ftw
 
Wicket 6
Wicket 6Wicket 6
Wicket 6
 
MongoDB
MongoDBMongoDB
MongoDB
 
Event loop
Event loopEvent loop
Event loop
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Vertx for worlddomination