Giter Site home page Giter Site logo

libzookeeper_master's Introduction

zookeeper - the Apache Zookeeper C/C++ client library

Copyright (c) 2016-2017, Shun Tan.

https://github.com/shuntan/libzookeeper_master

Gitter chat Build status

libzookeeper is a C library implementation of the Apache Zookeeper protocol, ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them ,which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.

For an introduction to the performance and usage of libzookeeper_master, see INTRODUCTION.md

See the wiki for a FAQ.

NOTE: The master branch is actively developed, use latest release for production use.

#Overview#

  • Support Session Expired automatic reconnection
  • Synchronous and asynchronous mechanism
  • High-level balanced ZooKeeper (requires version >= 3.4.5)
  • Simple (legacy) client
  • Simple package for monitor
  • Stable C & C++ APIs (ABI safety guaranteed for C)
  • Statistics metrics
  • Debian package: libzookeeper and libzookeeper-dev in Debian and Ubuntu
  • RPM package: libzookeeper and libzookeeper-devel
  • Portable: runs on Linux, OSX, Win32, Solaris, FreeBSD, ...

#Language bindings#

#Users of libzookeeper#

Usage

Requirements

The GNU toolchain
GNU make
CMAKE 
pthreads
libzookeeper_mt (main)
zlib (optional, for gzip compression support)
libsasl2-dev (optional, for SASL GSSAPI support)
liblz4-dev (optional, for LZ4 compression support)

Instructions

Building

Source:
	cmake -DCMAKE_INSTALL_PREFIX=<installation directory> .
	make && make install
example:
	cmake .
	make

NOTE: See README.win32 for instructions how to build on Windows with Microsoft Visual Studio.

Usage in code

See examples/example.cpp for an example master slave switch.

Link your program with -llibzookeeper -llibzookeeper-mt.a -lz -lpthread -lrt.

Documentation

The public APIs are documented in their respective header files:

To generate Doxygen documents for the API, type:

make docs

For a zookeeper introduction, see INTRODUCTION.md

Examples

See the examples/sub-directory.

Tests

See the tests/sub-directory.

Support

File bug reports, feature requests and questions using GitHub Issues

Questions and discussions are also welcome on irc.freenode.org, #apache-zookeeper, nickname Snaps.

Commercial support

Commercial support is available from Domain services

libzookeeper_master's People

Contributors

shuntan avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar

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.