Skip to content
This repository

HTTPS clone URL

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…

Octocat-spinner-32-eaf2f5

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 client.py
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
Octocat-spinner-32 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.