Я работаю над RESTfull-приложением, которое требует высокой масштабируемости. Я рассматриваю основы Netty для приложений RESTfull. Я просмотрел некоторые из доступных вариантов и попытался получить то, что они могут предложить в качестве неблокирующей реализации. Вот мои выводы:
- rest.li → Еще в экспериментальной фазе для реализаций NIO на основе Netty. Таким образом, производство не готово.
- RESTEasy → Стандартный проект JBoss, который поддерживает Netty 4.x. Но вместо полной реализации NIO, основанной на Netty, RESTEasy является буфером обмена между Netty и RESTEasy. Это не использует преимущества Netty. Поэтому масштабируемость не так высока, как ожидалось, из фреймворка Netty.
- Компонент Netty-http → Еще один вариант - интеграция Apache Camel при использовании компонента Netty-http в качестве конечной точки для запросов на маршрутизацию к службам, открытым из beans. Я думаю, что это так же, как RESTEasy, только компонент Netty-http использует возможности NIO на основе Netty, а остальная система будет использовать старый IO. Я не думаю, что я бы очень помог в получении scalabiltiy.
- RESTExpress → Он утверждает, что он основан на основе Netty для приложения RESTFull. Но и у него нет приличного сообщества, и ему нельзя доверять (потому что он очень новый) для корпоративного приложения, требующего высокой степени безопасности.
Прежде чем приступить к вышеуказанным выводам, я хотел использовать некоторые готовые к использованию фреймворки и быстрее выполнять работу.
Я знаю, что это вопрос, основанный на мнениях. Но, тем не менее, мне очень нужна помощь в выборе правильной структуры для моего приложения. Если в случае нет основанной на Netty структуры REST: было бы разумно пойти на нивелирование NIO-кода на основе Netty в моем приложении? Любая помощь оценивается. Заранее спасибо.