2015-03-02 7 views
7

Я нашел книгу «Весенняя DM в действии». Когда я начал проверять последнюю версию Spring для OSGI, я узнал, что Spring прекратила этот проект.Что такое правильный путь для создания микросервисов в Java? Spring Boot или OSGI

Поскольку у меня есть опыт разработки весной, я хотел бы понять, должен ли я продолжать читать о Spring и OSGI или переключиться на Spring Boot как способ создания модульных приложений?

+0

Spring DM называется Eclipse, Дева Теперь. Тем не менее, вы должны прочитать следующее сообщение в блоге: http://blog.osgi.org/2014/09/how-should-i-use-guicespringblueprint.html и оставить технологии Spring, если вы хотите использовать OSGi. –

+0

Благодарим за ответ. Правильно ли я понял, что, если я поклонник Spring, я должен забыть о OSGI как способе создания модульной системы и просто ретранслировать на Spring Boot для этого? –

+0

Я тоже был поклонником весны. Это просто не работает с OSGi. Я не думаю, что вы должны забыть о OSGi. Вы не должны использовать эти технологии вместе. В OSGi используйте другую модель компонента (например, декларативные службы), которая предназначена для работы в рамках модульной среды. По моему опыту, переключатель немного болезнен вначале, но я никогда не вернусь к монголитическому миру, основанному на весне. –

ответ

7

Я хотел написать комментарий, но он не дал мне достаточно символов.

Если вам нужна модуляция и динамика OSGi, то пружинная DM (теперь Gemini Blueprint) - хорошая технология. Мы использовали его для создания высокопроизводительного связующего ПО, ориентированного на сообщения, с плагиновой инфраструктурой. Плагин-инфраструктура была необходима, так как клиент хотел иметь возможность добавлять/заменять/обновлять модули и изменять маршруты через веб-интерфейс во время выполнения. Каждое сообщение также было преобразовано с помощью строковых скриптов 0-N (хранимых в db, изменяемых во время выполнения). Механизм обработки был основан на интеграции весной и весной.

Итак, если у вас есть реальные варианты использования OSGi, это может быть хорошая технология.

Но большую часть времени люди пытались использовать его, чтобы отделить слои монолитного веб-приложения, что не полезно и дает вам больше работы, чем прибыль. Как только я увидел подход, в котором разработчик использовал OSGi для разделения каждой группы своей доменной модели на небольшой модуль. Это наносит вред вашему дизайну приложения больше, чем вы можете получить, потому что прибыль равна нулю.

Кроме того, книга может быть хорошей идеей, чтобы дать вам другой подход к разработке «как разработать».

-1

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

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

Прочитайте, что такое OSGI, что такое Boot и какие проблемы они решают. Если после прочтения вы не знаете, какой инструмент выбрать, идите в Boot.

+0

С «ботинком» вы имели в виду весенний ботинок? Как модульный подход весенней загрузки отличается от модуляции «обычных» весенних приложений? –

+0

Да, я имел в виду Spring Boot. На самом деле нет никакой разницы. Вопрос касался загрузки, поэтому я предполагаю, что кто-то пытается использовать новую технологию или пытается достичь модульности, имея много конечных точек REST. Независимо от того, что происходит, это, по крайней мере, пару дней, чтобы понять требования и ограничения. –

1

к названию вопрос: "OSGi" точно. Служба OSGi - это очень (самый?) Естественный кандидат на микросервис.

к содержанию вашего поста:

я должен прыгать здесь, и сказать «как». OSGi, IMHO, это лучшее, что может случиться с Java, так как ... ну, может быть, когда-либо. Зачем? Он просит вас следовать лучшим методам проектирования, облегчая производство меньших, более модульных фрагментов кода.

Я тоже люблю весеннюю загрузку, но я считаю, что это больше подходит (читайте, «удивительно» для написания клиентских приложений.

К вопросу о вашем опыте с весной - не бойтесь. Если вы привыкли к весенним конфигурациям XML, вы обнаружите, что синтаксис синтаксиса в большинстве случаев идентичен ... и вы все равно можете широко использовать различные весенние фигуры в системе OSGi.

FYI - Я говорю с точки зрения разработав несколько крупномасштабных систем укорененных в OSGi (а также несколько набегов в дебри развертывания типичной WAR/сервлет)