Дизайн реактивной системы на Spring 5/Reactor
День 2 / 14:00 / Язык: RUДоля мобильных клиентов растет, динамика нагрузки в разное время на один и тот же сервис становится непредсказуемой. Очередной «хабраэффект» может положить ваш продакшн, и вы даже не успеете его масштабировать. Конечный потребитель хочет видеть отзывчивое приложение или сайт, которые не тормозят, даже при большой нагрузке и медленных источниках данных. В тот момент, когда вы оптимизировали все, что можете, а проблемы остались, стоит посмотреть на reactive streams и сопутствующую экосистему. Выходит очередная версия Spring, в нем добавилось много всего для того, чтобы удобно и привычно (за счет множества аннотаций :slightly_smiling_face: ) создавать реактивные микросервисы. Посмотрим, как интегрировали Project Reactor в Spring 5 и что это может дать обычному разработчику. Возьмем простую синхронную систему из нескольких сервисов и БД, будем по шагам решать ее проблемы с помощью реактивных подходов. Попробуем разобраться, как все это стыкуется и как используются потоки в различных ситуациях. Интересно будет всем тем, кто не пробовал писать реактивные сервисы на Java или еще не успел посмотреть Spring 5/Reactor, или все это использует, но не до конца понимает, как оно работает.
Максим Гореликов, Альфа-Лаборатория
gorelikoffРазработчик из Альфа-Банка, занимается разработкой API для мобильных приложений и немного слоем безопасности. В основном использует экосистему Spring и Netflix, но пробует всё, что найдет хорошего на GitHub. Экспериментирует с реактивными подходами, несколько экспериментов успешно дожили до продакшна. Хочет понимать не только свои приложения, но и всё, что вокруг них, поэтому работает со всей инфраструктурой (логи, CI/CD, оркестрация). В общем, DevOps — наше всё.