jokerconf Joker 2018 (19.10.2018)

Reactive config

img

When developing big distributed apps, it is usually considered a good practice to separate the app configuration from its business logic. We’ve developed our own library for dynamic configuration, and we will tell about its internal design and how you can employ it in your own project.

When developing big distributed apps, it is usually considered a good thing to separate the app configuration from its business logic. For this purpose developers often use a configuration file or a separate configuration-managing service. But how does the reboot proceed?

What if we want to reboot not the whole config, but only the modified parameter, and don’t want to wait for scheduling? What if we want to describe more complex scenarios of parameter reboot, such as database connection reboot or external service restart?

Together we’ll try to work out how to make such a solution and integrate it into your project. We’ll learn how to use Scala and its reactive libraries, especially Monix, for this purpose. We’ll learn how to store configuration in systems like etcd or Consul.

No functional programming hardcore, we promise.