Comments (1)
Initially, while working on the registry code, I made a wrong assumption: a provider that registered itself, can always serve this config key. This turns out to be a wrong idea: providers are registered at the start up time, but the runtime env is never known in advance at this stage, so, some providers might have no data to serve. Based on my assumption, I took a decision to use a bin heap as the primary data structure. It seems the most legitimate behavior in this context would be to use a per-config-key list of providers, prioritized based on their weight and the config resolved within O(N) steps until one of the providers returns lookup ok == true.
the lookup propagation would look like:
client fetches a value for a config key:
registry gets prioritized list of providers serving the key
registry1 returns _, false
registry2 returns _, false
...
registryN returns v, true
registry returns v, true
from flow.
Related Issues (20)
- Implement internal metrics collection using prometheus
- Rework dev env bootstrap command: docker-compose should spin off necessary components only. HOT 2
- Create flow-tool utility to extend dev toolkit with a set of flow-specific commands.
- Separate setup and connect logic of links
- Performance optimisation HOT 1
- A bug in plugin initialization
- Replace the current metrics collection solution: use more robust library
- Develop admin interface with human-friendly interface and API
- Implement InfluxDB plugin
- Implement Kafka plugin
- Implement a TLS sink link
- Rework graphite plugin, optimise performance
- Review the current plugin integration and write an SDK proposal note HOT 1
- Review the config layer and propose a better design HOT 1
- Rework pipeline component tree: use topology module instead of n-tree
- Race condition in fanout link
- Explicit Link interface casting in specific Link implementations
- Refine flow core and all actors, mass-refactor tests HOT 1
- `cast` should be a part of corev1alpha1 package
- receiver.* is missing some configuration options
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flow.