- PVSM.RU - https://www.pvsm.ru -
Всем привет!
На данный момент очень трендово использовать node.js. Однако не всем он нравится. В данном обзоре, я бы хотел рассказать немного о конкуренте, который был написан под влиянием node.js
Vert.x это асинхронный, event-driven фреймворк, написанный под вилянием node.js.
Первая версия фрейворка, была выпущена в 2012 году, в то время как node.js был выпущен в 2009. Однако, уже поддерживается VMware и может запускаться на CloudFoundry.
Основные характеристики продукта под катом:
Интересно? Пример rest helloworld на scala:
class SampleResticle extends Resticle
{
override def handles =
{ GET("/hello") :> OK( _ => "world ") }
}
или же более простой пример сервера, обслуживающий webroot директорию. Пример на Groovy:
vertx.createHttpServer().requestHandler { req ->
def file = req.uri == "/" ? "index.html" : req.uri
req.response.sendFile "webroot/$file"
}.listen(8080)
Для того что бы запустить к примеру последний хеловорлд, вам необходимо выполнить:
vertx run Server.groovy -instances 32
Как видите все предельно просто и ясно.
Посмотрев примеры кода, и почитав принципы, я естественно решил проверить заявление авторов о супер производительности.Искал сравнения с node.js.
Первый график показывает результаты теста когда отдается только 200/ОК респонс
Второй тест отдает 72-байтную html страницу:
тесты взяты отсюда [1]. Данные тесты проводились относительно давно. У меня готовы материалы более детального тестирования. Расскажу о нем в третьей части.
К сожалению данные тесты не содержат scala-тесты. Как известно, scala во многих случаях, оказывается быстрее java.
Пожалуй, для пятничного поста, этого достаточно. В следующей части расскажу об основных принципах и патернах используемых в vert.x.
Cайт проекта [2]. По ссылке отличная документация.
Автор: sneer
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/35665
Ссылки в тексте:
[1] отсюда: http://vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js-simple-http-benchmarks/
[2] Cайт проекта: http://vertx.io/
[3] Источник: http://habrahabr.ru/post/181686/
Нажмите здесь для печати.