Всем привет!
Недавно у меня появился проект, сделать RESTfull api. Делать нужно именно на java. Какой фреймворк сейчас используют на java для этих целей. Важна скорость и удобство. Желательно, чтобы фреймворк мог обрабатывать количество запросов сравнимое с node.js.
В сети нашел два самых популярных: vertx и spring boot. Кто пользовался, расскажите какие у них достоинства и недостатки....
А что вам нужно от фреймворка? Может вообще есть смысл посмотреть на play 2, play-mini если вам нужна асинхронность? или какие нибудь akka-based фреймворки типа spray?
Собственно мне нужно обрабатывать оч. Болльшое количество запросов и практически в каждом запросе идет обращение к postgres. Так как jdbc работает синхронно, нужно это обернуть в асинхронную обертку, чтобы не заблокировать поток. К сравнению в node.js большинство драйверов для бд асинхронны и такая проблема не возникает.
Обязательно посмотрю упомянутые вами фреймворки, спасибо.
В данном контексте, вам больше стоит сосредоточится на правильной архитектуре БД, тк все "асинхронные навороты" могут сойти на нет блокировками таблиц на уровне самой БД. Где то читал очень подробный разбор этих асинхронных драйверов, где было написано, что реляционные бд по своей природе не могут предоставить не блокирующий IO, как следствие максимум что можно делать асинхронно это то что идет до обращения к базе(формирование запросов) и то что идет после(ОRM переводит данные в классы и прочее). Поэтому мне кажется вам лучше стоит изучить именно этот момент. Я сомневаюсь что в ноде изобрели что то что решает выше описанную проблему