Comments (6)
Kaffe doesn't support dynamic configuration. However, there was some discussions around using a library called Weave
for that. I've not used it myself, but we did have a PR on it some time ago.
from kaffe.
thanks. I'm going to hack kaffe to make it dynamic, as I have a pool of boxes that I need to consume various topics at different time. I'm going to use Swarm for the distributed aspect of it. I think it'll be easy-ish to make kaffe dynamic. I'll let you know here. Feel free to close
from kaffe.
see #58
from kaffe.
@dams thanks for the pings in the dynamic topic subscribe/unsubscribe PRs. Sorry for the delay, we've been busy here at Spreedly the last few months and are just starting to look back at continuing development on Kaffe.
We were chatting about this internally and thought we'd get a little more details. We're curious about use cases in which systems are only occasionally consuming a topic. Could be that this is a domain specific situation, of if there are other factors that make this a more common scenario and we're just not experiencing it within our system.
I do think it's worth nothing that this particular behavior could also be managed on the message handler side of things by ignoring messages from a particular topic if certain criteria are true (such as the time of day, etc). Of course the criteria would need to be static and maybe your particular case won't allow it to be handled in your message handler code?
from kaffe.
It’s not a domain specific situation. To me it is mandatory that à Kafka client allows this. The official clients in other languages do provide this.
My need is very common and simple: provide a feature ( here an aggregation over time ) of data transported over Kafka, * as a service *. In the current world, things are service oriented, as a service, with zero downtime.
My solution will run 24/7 with hot code reloading. It’ll run for the next years without being restarted. So it needs to be able to adapt to the change in flow if data, namely new topics, new partitions, etc.
Your workaround works only if all the topics exist at start time, which is not the case.
This feature is mandatory imho to be able to provide a strong kafka client.
Also, other PRs by other authors are important too, like the one that allows to have more than one consumer group
from kaffe.
That makes sense. I think since we're operating slightly differently at the moment so it wasn't something that had quite caught our attention. But I can imagine sometime in the future we'd make use of dynamic topics. Just not right now. I'll give your PR another look next week and see if any changes need to happen before merging.
Thanks!
from kaffe.
Related Issues (20)
- Defining multiple handlers HOT 1
- worker_per_topic_partition with multiple topics HOT 1
- Examples not compatible with Elixir 1.10 or 1.11 HOT 2
- extract_der is giving error with SSL HOT 2
- Undefined function exponential_backoff HOT 10
- Offset doesn't get updated between runs and runs crash with OOM errors HOT 4
- async ack - lots of duplicate messages until I restart the application HOT 2
- Kaffe.Producer.produce_sync raises on timeout
- How to set kafka headers when publishing message HOT 1
- Invalid call to raise/reraise on brod/kpro error
- Add support for SCRAM mechanism in SASL authentication. HOT 1
- Module to help write ExUnit tests
- It's impossible to create 2 separate consumers for different topics
- Running mix with kaffe deps fails to download pc package from hex
- Wrong place for configuration
- Config dump on error leaks credentials HOT 1
- Endpoints configuration is weird for using ENV vars
- Missing documentation HOT 8
- Connecting to a TLS-based Kafka instance under AWS MSK? HOT 18
- Receives notification when rebalance in progress/assignments revoked HOT 2
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 kaffe.