Asynchronous Event-driven Network Application Framework:vert.x, Node.js or Netty
Let’s have a look these three frameworks,
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
And here are some useful comparison articles,
- Vert.x: Why the JVM May Put Node.js on the Ropes
- Vert.x vs node.js simple HTTP benchmarks
- Vert.x is much faster than Node.js when reading the same file from the filesystem more than once. Neither Vert.x nor the JVM is doing any explicit caching, so this is most likely due to the OS caching it (memory mapped files?). In a webserver-type app the same file is likely to be served many times so this is pretty significant
- Node.js doesn’t appear to scale particularly well using the `cluster` module. The advice from the node.js folks is not to use it (for now). This leaves node with no out-of-the-box way to scale across multiple cores
- Many of the out of the box load testing tools don’t appear to pipeline very much. The Vert.x results are dramatically better when there’s a high degree of pipelining going on.
- Java on the JVM is extremely fast. No surprises there But what is very encouraging is how the other JVM langs held up – in particular Rhino held up very well against V8
|Language Type||Dynamic or Static||Dynamic||Static||Dynamic||Dynamic||Static|
|Speed of Development||Fast||Fast||Slow||Fast||Fast||Slow|
|Synchronous Threading Support||Great||None||Great||Poor||Poor||Good|