Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bitly/simplehttp

a family of libraries and daemons for building scalable web infrastructure
https://github.com/bitly/simplehttp

Last synced: 10 days ago
JSON representation

a family of libraries and daemons for building scalable web infrastructure

Awesome Lists containing this project

README

        

simplehttp
==========

`simplehttp` is a family of libraries and daemons built upon libevent that make high performance HTTP servers
simple and straightforward to write.

The following libraries and daemons are included:

* `buffered_socket` - a simple abstraction on bufferevent for arbitrary TCP sockets
* `domain_socket` - an async C library for creating, listening, and communicating over unix domain sockets
* `host_pool` - a library for dealing with endpoint selection, pooling, failure, recovery, and backoff
* `profiler_stats` - a library to track arbitrary profiler timings for average, 95%, 99%, 100% time
* `ps_to_http` - a daemon built on top of pubsubclient to write messages from a source pubsub to destination simplequeue or pubsub server
* `ps_to_file` - a daemon built on top of pubsubclient to write messages from a source pubsub to time rolled output files
* `pubsub` - a daemon that receives data via HTTP POST events and writes to all subscribed long-lived HTTP connections
* `pubsub_filtered` - a pubsub daemon with the ability to filter/obfuscate fields of a JSON message
* `pubsubclient` - a library for writing clients that read from a pubsub
* `pysimplehttp` - a python library for working with pubsub and simplequeue
* `qrencode`
* `queuereader` - a library for writing clients that read from a simplequeue and do work
* `simpleattributes`
* `simplegeo`
* `simplehttp`
* `simpleleveldb` - a HTTP CRUD interface to leveldb
* `simplememdb` - an in-memory version of simpletokyo
* `simplequeue` - an in memory queue with HTTP /put and /get endpoints to push and pop data
* `simpletokyo` - a HTTP CRUD interface to front tokyo cabinet's ttserver
* `sortdb` - sorted database server

simplehttp Install Instructions
===============================

to install any of the simplehttp components you will need to install
[libevent](http://www.monkey.org/~provos/libevent/) 1.4.13+ and the 'simplehttp' module first.

build the main library
this provides libsimplehttp.a simplehttp/simplehttp.h and simplehttp/queue.h

cd simplehttp
make && make install

now install whichever module you would like
this will compile 'simplequeue' and place it in /usr/local/bin

cd simplequeue
make && make install

Some modules have additional dependencies:

* [json-c](http://oss.metaparadigm.com/json-c/)
* [leveldb](http://code.google.com/p/leveldb/)
* [tokyocabinet](http://fallabs.com/tokyocabinet/) / [tokyotyrant](http://fallabs.com/tokyotyrant/)
* [qrencode](http://fukuchi.org/works/qrencode/index.en.html)
* [pcre](http://www.pcre.org/)

pysimplehttp Install Instructions
=================================

pip install pysimplehttp

provides `file_to_sq.py` and `ps_to_sq.py`. It will use ujson if available.