Доклад Reactive or Not Reactive c JPoint 2019 – https://jpoint.ru/talks/b9ib3swihayyhnnpjghc2/
Все вы слышали фразу: «Человек, научившийся пользоваться молотком, во всем начинает видеть гвоздь». В мире программирования это очень часто происходит с новыми и модными технологиями, которые далеко не всегда применяются по назначению. В результате мы имеем более сложный API, который могут поддерживать только прошедшие медные трубы программисты, кучу багов и прочих проблем.
Как нам избежать сломанных пальцев и разбитых молотком вещей при попытке внедрить React?
Мы рассмотрим пример системы, в которой есть проблемы, и, конечно же, попробуем отрефакторить её в реактивном стиле. Рассмотрим преимущества и недостатки не только подхода, но и API конкретных реализаций. Оценим сложность, которая была до рефакторинга, и ту сложность, которую мы привнесли после. Постараемся разобраться, что игрушки, а что нет.
Код с демо — https://github.com/lavcraft/spring-react-or-not-react-jpoint2019
Json streaming — https://en.wikipedia.org/wiki/JSON_streaming
Jackson Smile — https://github.com/FasterXML/jackson-dataformats-binary/tree/master/smile
WebClient Java 11 HttpClient Support — https://github.com/spring-projects/spring-framework/issues/21014
Webflux and RSocket backpressure — https://stackoverflow.com/questions/52244808/backpressure-mechanism-in-spring-web-flux/52245213#52245213