Coder Social home page Coder Social logo

Comments (8)

ctdk avatar ctdk commented on May 22, 2024

For clarification, is this only an issue with kairosdb, or is carbon subject to it too?

from metrictank.

Dieterbe avatar Dieterbe commented on May 22, 2024

assuming this is about on-disk buffering.
would it be an acceptable solution to just not ack the messages on the source side when the dest is down? the source (rabbitmq) is assumed to be a highly reliable persistent store of data. so why not just leverage that? why does raintank-metric have to do its own, independent buffering?

from metrictank.

Dieterbe avatar Dieterbe commented on May 22, 2024

alternatively, could we just replace it with heka? it has in-mem and on-disk buffering built-in, but not sure if it's a great fit per se.

alternatively we could also give a good look an nsq.io which is a distributed, at-least-once-delivery, high performant queuing system with good in-mem and on-disk buffering. I heard it has some nice operational controls like draining out nodes, it might have some useful throtthling too. It sucks adding more dependencies but we knew from the beginning that rabbitmq is not a safe way to scale out across multiple machines.

from metrictank.

ctdk avatar ctdk commented on May 22, 2024

Re: on-disk buffering, we were looking at doing that since we had already removed them from rabbitmq at that point. I had made an in-mem buffer first, but that's still vulnerable to losing data when getting shut down, and I wasn't sure if trying to put it back into rabbitmq was the right thing to do either.

Should we just put it back into rabbitmq if the destination is unavailable?

from metrictank.

Dieterbe avatar Dieterbe commented on May 22, 2024

Aren't we able to just not acknowledge the messages to rabbit until we safely delivered them? It shouldn't even be a matter of first removing them from rabbit and re-adding them if we can just not ack them.
the only thing i'm not sure about is we have 2 destinations AFAIK: ES and kairos. what to do when 1 of them is down..

from metrictank.

ctdk avatar ctdk commented on May 22, 2024

We don't send the messages right away, though; we queue them up as they come in and then send them in batches.

from metrictank.

Dieterbe avatar Dieterbe commented on May 22, 2024

ok, do you know if that prevents us from delaying the ack? it would be nice if we could just ack the msg to rabbit when we sucessfully processed/sent the message, even if that was a minute after we got it from rabbit

from metrictank.

woodsaj avatar woodsaj commented on May 22, 2024

there is no point in delaying acknowledge of messages when using exclusive non-durable queues. If the raintank-metric process dies, the queue will be deleted (non-durable) allowing the exchange to correctly distribute new metrics between available raintank-workers.

i would vote for closing this in favor of issue #11

from metrictank.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.