2016-02-11 3 views
4

Я хочу создать действительно небольшие автономные микросервисы, обслуживающие некоторые операции REST, хранящие данные в памяти (не требуется постоянство).Spring Boot против JAX-RS (Restlet) для мертвой простой микросервиса

Следовательно, я ищу каркасный подход для наиболее легкого подхода. Изучив доступные версии JAX-RS, Restlet, казалось, был хорошим выбором.

Также была загружена Spring Boot с комментарием, который вам не нужен JAX-RS. Я немного смутился. Разве JAX-RS не является стандартом для приложений Java REST? Разве мне не понадобилось бы комбинировать Spring Boot с JAX-RS?

ответ

7

Это совершенно разные звери, и оба они могут быть полезны вам по-своему.

поясню:

Spring ботинка отлично поддерживает Rest услуги. Весенний ботинок сияет, потому что вы можете создать службу отдыха буквально в 5-6 строках кода.

Spring Загрузочные:

  • ручка веб-контейнер (он кот/Пристань встроенный, хотя вы можете выбрать для войны, которые будут развернуты снаружи, а)

  • Обрабатывать все зависимости (версия соблюдение и т. д.). Это также означает структуру манипулирования JSON, а не только способ объявления конечных точек REST. Spring boot использует Джексона по умолчанию.

  • Обращайтесь со всеми проблемами, связанными с упаковкой всего. Если вы работаете с WAR, это может быть менее интересно (конечно, в этом случае вам придется подумать о веб-контейнере, а весенняя загрузка сделает это для вас). Но вы работаете с Jars - весенний ботинок создаст одну большую банку, которая может быть загружена только java -jar <youjar>.

  • Возможно предоставление метрик и материалов JMX для вашего приложения - просто объявите зависимость maven/gradle от привода, и вы готовы к работе.

Все это делает весенний ботинок идеальным для разработки автономных микросервисов, которые могут быть вашими случаями.

Напротив Если вы ищете инфраструктуру, обеспечивающую отдых на существующем решении, то, вероятно, вы не будете использовать весенний ботинок. Может быть, вы вообще не используете весну, кто знает?

Так что я бы сказал, что Jersey/Restlet и т. Д. - это просто веб-фреймворки, которые упрощают разработку сервисов REST на Java. И весенняя загрузка - это больше о том, как управлять своим приложением, конечно же, он обеспечивает также способ работы с службами REST, так же как и способ работы с JDBC, Servlet API и т. Д.

Надеется, что это помогает

0

JAX-RS является частью спецификации Java EE и стандартного REST API для серверов приложений, которые реализуют спецификацию Java EE. Каждый сервер приложений обычно поставляется с собственной реализацией, пусть это будет RestEasy для Wildfly, Jersey, Wink и т. Д.
Это не значит, что каждая инфраструктура Java, которая поддерживает REST, должна реализовать JAX-RS.Тем не менее, Restlet не является реализацией JAX-RS, это полностью независимая структура (поскольку Spring MVC с его возможностями REST, который будет использоваться по умолчанию Spring Boot).

Вы также можете разработать приложение Spring Boot с JAX-RS для REST, Spring Boot предоставляет стартовые POM для Джерси, а также автоконфигурацию, чтобы свести к минимуму ваши собственные усилия по настройке.

Смежные вопросы