реактор-v1.x.x против реактора-v2.x.x

Мы оцениваем библиотеку реактора для использования в нашем проекте. Наш проект был подкреплен весенним контекстом. Поэтому нам понадобился инструмент для создания управляемого событиями приложения с поддержкой Spring.

Также наше основное внимание уделялось возможности составления последовательности асинхронных событий (потоки и обещания). В некоторых других случаях нам может понадобиться модель издатель/подписчик или асинхронный запуск длительных процессов.

Когда я оценивал, я заметил, что некоторые из следующих последних выпущенных версий реактора-весны — это версия 1.1.3 с зависимостью от реактора-v1.1.3, которую мы могли бы использовать.

Но я также заметил, что есть реактор-v.2.0.0 (в разработке), в котором было довольно много изменений, особенно в области потоков и промисов.

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

Если мы продолжим с реактором v1.1.3.RELEASE, сколько изменений кода может потребоваться для обновления до версии 2.0.0.

Я также хотел проверить, есть ли у нас какая-либо ветка «образцов реактора» для реактора-v1.1.3/v1.1.4. На данный момент я мог видеть только одну доступную основную ветку, которая была обновлена ​​для использования реактора-v2.0.

Есть ли у нас API реактора для последней версии v1.1.4. В настоящее время API (https://reactor.github.io/docs/api/) указывает до версии Reactor 1.1.0.

Где я могу найти базу кода реактора-ядра-2.0.0? Мне трудно найти.

Поскольку я новичок в этой библиотеке, не стесняйтесь исправлять меня, если какие-либо из моих упомянутых пунктов/вопросов были неверны. Спасибо.


person Outlook VS    schedule 28.08.2014    source источник


Ответы (1)


Если вы начинаете новую разработку, обязательно используйте Reactor 2.0. В основном это существенные улучшения в API Stream и Promise, которые привели к необходимости увеличить номер основной версии. Различия в остальной кодовой базе минимальны. Преобразование между кодом 1.1 и кодом 2.0 требует некоторого переименования пакета и нескольких настроек здесь и там (например, отказ от использования объекта Deferred в Stream 1.1).

Другим важным изменением, которое оправдывает значительный скачок выпуска, является реализация спецификации Reactive Streams. . Дальнейшее обсуждение выходит за рамки этого вопроса, но это важная часть продвижения Reactor. Возможность естественной интеграции с Akka Streams, Ratpack, RxJava и другими библиотеками, которые уже (или вскоре будут) реализовывать Reactive Streams, является огромным преимуществом для Reactor 2.0.

Ветка reactive-streams содержит код для Reactor 2.0. Скоро выйдет M1, и мы начнем процесс обновления образцов, хотя, как вы заметили, некоторые компоненты, такие как поддержка Spring, уже пришлось перевести на Reactor 2.0, поскольку они используются в некоторых крупных почти производственных приложениях. .

person Jon Brisbin    schedule 28.08.2014
comment
Спасибо, Джон. Ваш ответ был чрезвычайно полезен. Начну изучать использование Reactor 2.0. - person Outlook VS; 31.08.2014