Wednesday, November 14, 2012

Vert.x

App platform like node.js, akka or play
TCP or HTTP client and servers in many languages (js, java, ruby, ..). Leverages WebSockets.
Verticles: execution units of vert.x. They communicate by message passing (bus).
Strongly based on asynchronous model. Focuses on non blocking interactions.
Threading model using multi-reactor pattern. One event loop per core.
Long running operations not in event loop but use worker verticles to avoid blocking. Allows use of blocking API.
Move away from java-style concurrency model based on threading. No more synchronized, volatile...
It is in fact the actor model...
Provides automatic load balancing for TCP and HTTP.
Vert.x instances are clustered. Event bus is common and also extends to the client. Maybe a candidate for NEMO async communication.
Propose a module system with a repository. Yet another one! It can resolve and download modules even at runtime.
In the future, promises API should help structuring and overcome asynchronous handling issues. Also maybe continuations.
Nice, simple, polyglot.

No comments:

Post a Comment