Подтвердить что ты не робот

Разница в модели передачи сообщений Akka и Vert.x

Am a Scala программист и понимайте Akka с точки зрения разработчика. Я не изучал библиотечный код Akka. Почитайте о двух типах актеров в модели Akka - на основе потоков и на основе событий - но не имея возможности запустить Akka в больших масштабах, у меня нет опыта настройки Akka для производства. И совершенно новый для Vert.x. Итак, с точки зрения выбора, чтобы построить реактивный стек приложений, который я хочу знать -

  • Отлична ли модель передачи сообщений от Akka и Vert.x? Как?
  • Являются ли данные-структуры за актерами Akka и Vert.x вертикальными буквами очень разные сообщения?
4b9b3361

Ответ 1

В поверхностном представлении они действительно похожи, хотя я лично рассматриваю более похожие идеи vert.x для какой-то системы MQ, чем для akka... топология vert.x более плоская: в Verticle есть сообщение с другой вершиной и получите ответ... вместо этого акка больше похожа на дерево, где у вас есть несколько актеров, но вы можете контролировать актеров, используя другого актера,.. для простых проектов, возможно, это не так много, но для больших проектов вы мог бы оценить более "иерархическую систему" ​​...

vert.x, с другой стороны, предлагайте лучшую совместимость между очень популярными языками *, для меня это большая точка, где вам понадобятся микс-актеры с системой MQ и более сложная задача, vert.x делает это простой и элегантный... ответ, который лучше?... зависит, если ваша система будет построена только над scala, тогда akka может быть лучшим способом... если вам нужна связь с javascript, ruby, python, java и т.д. и не нуждаются в сложной иерархии, тогда vert.x - это путь.

* (используя json, который может быть преимуществом или недостатком по сравнению с)

Также вы должны учитывать, что vert.x - это полное решение, tcp, http server, routing, even websocket!!!, это довольно удивительно, потому что они предлагают полный стек, и api очень чист... если вы выберите akka, вам понадобится использовать фреймворк, такой как play, xitrum o spray..personally Мне не нравится их o

также помните, что vertx - это не самоуверенный plataform, вы можете использовать с ним akka или kafka, например, без почти каких-либо накладных расходов, как каждая часть системы отделяется внутри вертицы, делает ее такой простой...

Vert.x - большой проект с потрясающей перспективой, но действительно новый, если вам нужно решение, возможно, это был бы не лучший вариант, к счастью, вы можете изучить оба и использовать оба в одном проекте...

Ответ 2

После небольшого поиска google я понял, что при подробном сравнении Akka vs Vert.x еще не сделано (по крайней мере, я не нашел его).

Модель вычисления:

  • Vert.x основан на модели Event Driven.
  • Akka основан на модели актера concurrency,

Реактивные потоки:

  • Vert.x имеет встроенные встроенные потоки
  • Akka поддерживает реактивные потоки с помощью потоковой передачи Akka. У Akka есть потоковые операторы (через Scala DSL), которые являются очень краткими и чистыми.

Поддержка HTTP

  • Vert.x имеет встроенную поддержку создания сетевых сервисов (HTTP, TCP и т.д.)
  • У Akka есть Akka HTTP для этого

Scala поддержка

  • Vert.x написан на Java
  • Akka написана в Scala и его удовольствие работать на

Удаленные службы

  • Vert.x поддерживает службы, поэтому нам необходимо явно создавать службы
  • Акка имеет Актеры, которые могут быть развернуты в любом месте в сети, с поддержкой кластеризации, репликации, балансировки нагрузки, контроля и т.д.

Литература: