Реальная аппликация, Реактор Нетти против Нетти - PullRequest
0 голосов
/ 13 октября 2018

Я знаю, что второй основан на первом, но мне любопытно, в чем различия, кроме API?Можно ли установить пуш-модель с Reactor?Я собираюсь создать приложение в режиме реального времени, поэтому мне нужно выбрать наиболее подходящее для этой цели.Буду признателен за любую помощь:)

1 Ответ

0 голосов
/ 14 октября 2018

API в этом случае гораздо больше, чем синтаксический сахар.Он распространяет реактивный договор.Реактивный договор гарантирует, что Производитель не будет производить больше задач / сообщений / чего-либо, что Потребитель может потреблять без удушья.Это гарантирует оптимальное использование вычислительной мощности за счет ограничения переключения потоков (я упрощаю, чтобы оставаться коротким).На уровне Netty распространение Reactive Contract означает, что вы не отправляете подтверждение TCP до тех пор, пока данные на проводе не будут обработаны.

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

Я написал свою собственную библиотеку над Нетти, поэтому я немного знаю, о чем говорю.В соединителе Netty есть объекты Command, которые могут попасть в Reactor Flux, но я не предлагаю распространять React Contract.Это было несколько лет назад, когда Reactor Netty назывался Reactor IO, и это было в зачаточном состоянии.API был полностью переписан с тех пор.

Итак, мой совет: если вам нужен Реактивный контракт, продолжайте с Reactor Netty.

Это может быть нетривиально, как описано в выпуске Динамическое объединение потоков .Но на мой вопрос может быть простой ответ, и (в зависимости от вашего приложения) вы можете просто обрабатывать каждый запрос в своем собственном Flux.

...