jokerconf Joker 2018 (19.10.2018)

Реактивный конфиг

img

При разработке больших распределенных приложений хорошей практикой считается отделение конфигурации приложения от бизнес-логики. Мы сделали свою собственную библиотеку для динамической конфигурации и расскажем, как эта библиотека устроена внутри и как ее можно применять в своих проектах.

При разработке больших распределенных приложений хорошей практикой считается отделение конфигурации приложения от бизнес-логики. Как правило, это реализуется при помощи конфигурационного файла или отдельного сервиса, управляющего конфигурацией, но как происходит перезагрузка?

Что, если мы хотим перезагружать не весь конфиг целиком, а только измененный параметр, и при этом не ждать шедулинга? Что, если мы хотим описывать более сложные сценарии перезагрузки параметров, например, перезагрузку соединения с базой данных или рестарт внешнего сервиса?

Вместе мы попробуем разобраться, как сделать и встроить себе в проект такое решение. Посмотрим, как использовать для этого Scala, ее реактивные библиотеки и, в частности, Monix. Научимся хранить конфигурацию в системах наподобие etcd или Consul.

Обещаем обойтись без ФП-жести.