09.01.2013

Repcache - кластеризация Memcache'а

Не понравился мне CouchBase. Причина - он написан на Java. А чтобы починить продукт на Java нужно быть Java-программистом и уметь читать эксепшены (а это подразумевает, что продукт писал ты сам, потому что эксепшен незнакомой программы понять физически невозможно). Еще сильнее убила нерабочая функция flush_all.
Ну пусть они сами своим барахлом и пользуются. А нам кто-то неизвестный великодушно дал еще один продукт, но на приличном языке Си: repcached.

Ну как водится, показываю как это сделать для Debian.

Сначала соберем пакет.
Нам понадобится одна зависимость и одна утилита:
apt-get install libevent-dev checkinstall

Создадим рабочую директорию:
mkdir /usr/src/repcached
cd /usr/src/repcached
Скачаем дистрибутив в эту директорию.

Распакуем его и перейдем внутрь:
tar xzf memcached-1.2.8-repcached-2.2.tar.gz
cd memcached-1.2.8-repcached-2.2
Далее есть баг, который заключается в том, что переменная IOV_MAX объявляется только для FreeBSD, а у нас Debian. Если этого не сделать, то ошибка при компиляции выскочит такая:
error: ‘IOV_MAX’ undeclared (first use in this function)