Анализ реактивного приложения на spring-webflux

312
28 июля 2017, 00:44

Добрый день! Прошу сделать код-ревью: https://github.com/Generalus/spring-webflux-rss-aggregator (создан в учебных целях).

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

Программа состоит из ивент-сервиса, который предоставляет подписку на три RSS-топика англоязычного стэковерфлоу (Java, Javascript and Python) и пересылает уведомления о новых вопросах на статическую страницу.

За работу с каждым отдельным RSS-топиком отвечает единственный экземпляр flux'а. Те flux'ы, что поставляются юзеру, лишь подписываются на поставщиков контента. Так что, сколько бы юзеров не зашло на страничку, стэковерфлоу должен получить в итоге константную нагрузку. Если на серве никого нет - запросов вообще быть не должно. Можно еще в будущем легко настроить отписку от некоторых топиков.

Теперь непосредственно вопросы:

  • Как стоило бы (и масштабируемо ли это) организовать пул flux'ов, чтобы юзеры подписывались не на захардкоженные топики, а выбранные ими?
  • Уместно ли и возможно в "функциональном спринге" пользоваться также и аннотациями?
  • Как вместо статической html страницы подключить шаблонизатор и разнести html, css и js в отдельные файлы?
  • Как протестировать ивент-сервис (тест event_stream_on_service_page())? Не знаю, как замокать окружение, отсылающее запросы в сеть. Нашел вариант использовать PowerMock, но говорят, что это плохая практика.
  • Ваши рекомендации.

Спасибо!

READ ALSO
Парсинг xml с помощью Jackson

Парсинг xml с помощью Jackson

Есть задача и ее надо строго выполнить с помощью Jackson для JavaИмеется List<> содержащий объекты, которые имеют свои поля

227
SharedPreferences.открытие Activity после Login и Logout

SharedPreferences.открытие Activity после Login и Logout

Есть MainActivity с логин формой, кнопка с таким кодом и переходом в следующее окно

238
Проверка ссылки

Проверка ссылки

Как проверить ссылку является ли она изображением или zip или exe файлом? Пытался через getContentType()Но что то не получается, результат не правильный

248
Коды ошибок REST

Коды ошибок REST

Создано приложение на spring bootЕсть класс entity с двумя полями

294