-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compression between carbon-c-relays? #212
Comments
Just wondering, do you actually see high bandwidth usage? Compression complicates things a bit, an interesting test would be to run an xz tunnel (or alike) and let the relay use that tunnel. |
is that context aware compression, or generic "zipping" compression? |
This was just gzipping the protobufs. |
that looks promising then |
+1 this could save many $$ in ISP VPN bandwidth costs when transmitting data across data centres |
If your multi-regional and have the budget you could have (carbon-c-relay -> telegraf -> kafka (with compression) -> telegraf elsewhere -> carbon-c-relay -> carbon-cache) It's a bit of pipe but it does give you a big buffer for metrics that you could hang other things off of such as alarming/other graph systems. I've never seen a pipe like this in action so i'd wonder about the cpu use of telegraf/kafka. |
My problem (design-wise) with this thing, is that I need anchorpoints both send and receive to specify the traffic is compressed or not. Since the protocol isn't really having any wire version or something, it needs to use another port, but for that it needs configuration too. |
Separate invocation on the same port with enabled gzip compression should be sufficient for receiving part |
This is on my todo list, it will come with a way to configure listeners instead of the current "single port is everything" approach. |
This is a very first part of the new listener approach, implementing gzip support. As noted in issue #212, compression can result in a huge bandwith savings. With this code I was able to use this config: listen linemode gzip 2013 proto tcp; and then spool some metrics into the system using echo "foo.bar 1 2" | gzip -c - | nc localhost 2013
in master there is support for sending and receiving gzipped and bzip2-ed streams. |
Hi.
I am wondering could you implement a compression between carbon-c-relays?
It is a highly compressible protocol and could give significant saving on the bandwidth.
The text was updated successfully, but these errors were encountered: