штук из коробки больше вроде ну и архитектура по дефолту круче ТК мултиреактор а не сингл реактор, но конечно я не эксперт в ноде, уточни пожалуйста про нее
вот тут и есть тонкий момент, перфоманс бенчмарки это обычно адская синтетика очень далёкая от реальных задач. тот же techempower полон констуркций в духе Buffer.factory.directBuffer(HELLO_WORLD, "UTF-8"); ну какбе такое себе. в общем сильные стороны ноды, которых нет у вертекса: 1. экосистема, она вся заточены под асинк и имеет единые механизма работы с ним - Promise везде один и тот же и использует тот же евент луп. это не жвм, где ворох разных либ и реализаций, где в однмо месте у тебя vertex future, в другом scala future, третье вообще блокирующий вызов. в ноде всё однозначно - везде nio (исключение в пакете fs есть пара блокирубщих вызовов) и оно использует евент луп. 2. async await, очень упрощает жизнь 3. многие вещи это очень оптимизированные модули на плюсах - JSON, сеть, промисы, шифрование 4. EventEmitter под который косит вертексовый EventBus выглядит куда проще для использования, имхо.
про мультиреактор это да, веский аргумент, но опять же есть нюансы, основная боль ноды - кривая многопточка, так как всё реализованно в виде отдельных евентлупов, которые не могут иметь шаренных структур данных и посылают друг другу только сообщения, отсюда большие расходы на сериализацию и десереализацию сообщений, относительно доступу к шаренному состоянию. с другой стороны, для задач, для которых создавалась нода - сетевой nio, оно какбе и не очень надо, модель масштабирования с независимыми вентлупами работает ок.
Обсуждают сегодня