Giter Site home page Giter Site logo

qinguoan / carbonzipper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from go-graphite/carbonzipper

0.0 2.0 0.0 216 KB

proxy to transparently merge graphite carbon backends

License: BSD 2-Clause "Simplified" License

Protocol Buffer 5.42% Go 94.58%

carbonzipper's Introduction

carbonzipper: carbonserver proxy for graphite-web

CarbonZipper is the central part of a replacement graphite storage stack. It proxies requests from graphite-web to a cluster of carbon storage backends. Previous versions (available in the git history) were able to talk to python carbon stores, but the current version requires the use of carbonserver.

Configuration is done via a JSON file loaded at startup. The only required field is the list of carbonserver backends to connect to.

Other pieces of the stack are:

Changes

0.62

  • Fix carbonsearch queries with recent carbonapi version
  • Fix pathCache to handle render requests with globs.
  • Add cache for carbonsearch results

0.61

  • Fix rewrite for internal queries, because of an error some queries were sent as protobuf not as protobuf3
  • gofmt the code!

0.60

  • BREAKING CHANGE Carbonzipper backend protocol changed to protobuf3. Though output for /render, /info /find can be both (format=protobuf3 for protobuf3, format=protobuf for protobuf2).

0.50

  • See commit log.

Upgrading to 0.60 from 0.50 or earlier

Starting from 0.60, carbonzipper will be able to talk only with storages compatible with protobuf3.

At this moment (0.60) it's only go-carbon, starting from commit ee2bc24 (post 0.9.1)

Carbonzipper can still return results in protobuf and compatibility won't be removed at least until Summer 2017.

If you want to upgrade, the best option is to do follwing steps:

  1. Migrate to go-carbon post 0.9.1 release. (note: carbonserver isn't compatible with this version of zipper)
  2. Migrate to carbonsearch 0.16.0 (if you are using any)
  3. Upgrade carbonzipper to 0.60 or newer.
  4. Upgrade carbonapi to 0.6.0 (commit 119e346 or newer) (optional, but advised)

Acknowledgement

This program was originally developed for Booking.com. With approval from Booking.com, the code was generalised and published as Open Source on github, for which the author would like to express his gratitude.

License

This code is licensed under the MIT license.

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.