Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Kwetter Scaleable Microblogging - backend server and mongrel2 handler

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 sql
Octocat-spinner-32 .gitignore
Octocat-spinner-32 DESIGN
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.rst
Octocat-spinner-32 commands.c
Octocat-spinner-32 helpers.c
Octocat-spinner-32 helpers.h
Octocat-spinner-32 kwetter-m2.cpp
Octocat-spinner-32 kwetter.conf
Octocat-spinner-32 kwetter.h
Octocat-spinner-32 kwetterd.c

kwetterd: a lightweight high-performance micro-blogging engine

license: GPLv3

copyright: Paul Stevens, 2011, NFG Net Facilities Group BV,



  • lightweight: no bloat, no security. The client protocol is the 0MQ protocol. See 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.


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:


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


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


    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 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 ./

Something went wrong with that request. Please try again.