Update Roadmap re dynamic reconfiguration

reisenberger 2018-02-22 14:18:13 +00:00
Родитель e4756a7f13
Коммит 9c2ef8ce82
1 изменённых файлов: 8 добавлений и 3 удалений

@ -41,13 +41,18 @@ _prototyping started, discussion transitioning to development_
_next after high-priority items_
## Introduce configuration-provider interfaces and/or POCOs
## Consider introducing configuration-provider interfaces and/or POCOs
Introduce configuration-provider interfaces such as [discussed here](https://github.com/App-vNext/Polly/issues/143#issuecomment-354732829) and [exemplified here](https://github.com/reisenberger/Polly/blob/fa4e8dfb54d79aff480e831a57445978b9205aa4/src/Polly.Shared/CircuitBreaker/IAdvancedCircuitBreakerConfiguration.cs).
### Dynamic reconfiguration during running
## Dynamic reconfiguration during running
Configuration-provider interfaces would also enable dynamic reconfiguration during running, eg of circuit-breaker thresholds, timeouts etc. This would make for easier in-production tweaking of systems for stability/optimum operation, especially once metrics/dashboarding expose real-time operation.
Dynamic reconfiguration during running would make for easier in-production tweaking of systems for stability/optimum operation, especially once metrics/dashboarding expose real-time operation.
Two approaches to dynamic reconfiguration have been considered:
1. Introduce the **configuration-provider interfaces** described above. Policies could then become dynamically reconfigurable by coding configuration providers backed by updatable configuration sources, as [discussed here](https://github.com/App-vNext/Polly/issues/143#issuecomment-354732829). _Note:_ This leads to **mutable policy instances**. Questions arise then such as how to ensure updates of configuration are atomic; and the effect of dynamic reconfiguration on executions mid-flight at the time of update.
2. (_already available_). Treat [PolicyRegistry](PolicyRegistry) as a [dynamic store of policies](Dynamic-reconfiguration-during-running). Pull policies from the registry at call sites. Use events to update policies in the registry on a change in the underlying configuration source. _Note:_ With this approach individual **policy instances remain immutable.**
## Refresh syntax to reduce the number of overloads