Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Kwetter Scaleable Microblogging - backend server and mongrel2 handler
C Python C++
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
sql
.gitignore
DESIGN
Makefile
README.rst
client.py
commands.c
helpers.c
helpers.h
kwetter-m2.cpp
kwetter.conf
kwetter.h
kwetterd.c
m2client.py

README.rst

kwetterd: a lightweight high-performance micro-blogging engine

license: GPLv3

copyright: Paul Stevens, 2011, NFG Net Facilities Group BV, paul@nfg.nl

features:

aims:

  • lightweight: no bloat, no security. The client protocol is the 0MQ protocol. See client.py for example code. Implementing security and access restrictions is up to the client.
  • scalable: using 0MQ makes horizontal scalability trivial. Currently the client protocol uses the REP/REQ pattern so using fan-out/fan-in patterns will allow truly massive horizontal scaling.

motivation:

I needed a small and simple micro-blogging engine for a project. Seemed like a great project to get my hands dirty on 0MQ, arguably the coolest networking shite since tcp sockets.

easy installation:

  • use the scripted installer provided at kwetter.

manual installation:

  • like libzdb supports MySQL, PostgreSQL, Oracle, and SQLite as well. For now no Oracle schema is included.

  • install libzdb, json-c, zeromq

  • install database server of choice (sqlite3, mysql-server, postgresql)

  • create database:

    mysql:

    mysqladmin create kwetter
    mysql -e "grant all on kwetter.* to kwetter@localhost identified by 'kwetter'"
    mysql kwetter < sql/db.mysql
    

    sqlite:

    sqlite3 ~/kwetter.db < sql/db.sqlite
    

    postgresql:

    echo "create user kwetter with nocreatedb nocreaterole nocreateuser encrypted password 'kwetter'"|psql template1
    echo "create database kwetter with owner=kwetter encoding='utf-8'"|psql template1
    psql kwetter < sql/db.postgresql
    

sudo apt-get install mysql-server libzdb-dev libjson0-dev libzeromq-dev FIXME: libzdb is not yet available on debian/ubuntu. Packages can be gotten by adding to your sources.list:

deb http://debian.nfgd.net/debian unstable main

  • compile

make - edit the config file kwetter.conf and make sure the database URL is correct - and run ./kwetterd kwetter.conf

  • test

sudo easy_install pyzmq python ./client.py

Something went wrong with that request. Please try again.