Giter Site home page Giter Site logo

synthetic-client's Introduction

Synthetic Memcached Proxy Build Status

Memcached fake, benchmarking proxy. This is designed to be a somewhat realistic synthetic middleware program in a distributed system. It functions as a kind of memcached proxy.

This implements the architecture of memcached, so a fairly high-performance network service for request/response style workloads. Multi-threaded with whole connections as the unit of distribution for load-balancing. Connections are round-robbin'd to threads and once assigned, are stuck.

No load-balancing or QoS after that.

Code is largely taken from memcached itself but cleaned up a lot.

Building

The code is simple enough that we just use a single make file, no autotools or other complications. We do call pkg-config to find libraries and expect you to have gsl and libevent installed.

make

Should be it!

Memcached protocl support

This service connects to a collection of memcached backends.

Implemented commands:

  • GET -- just respond with a fixed value to every single key. Will send an RPC to every memcached backend and only respond to the get once all RPC's are completed.
  • SET -- parses command and returns ok but doesn't actually store data. (no backend involvement).

Other commands could be added easily but aren't needed for what I want.

Get involved!

We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

  • git clone git://github.com/dterei/synthetic-memcached.git

Licensing

This library is BSD-licensed.

Authors

This code base is maintained by David Terei, [email protected]. It is mostly taken from memcached, with some cleaning and structural changes into a cleaner code base.

synthetic-client's People

Contributors

dterei avatar

Watchers

 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.