|
Вот и до меня добралось. :) В общем, пишу ноду на go. Цели: - никаких внешних зависимостей; - экстремальная простота настройки и переноса базы; - поддержка умного (адаптивного) fetch
На данный момент черновик ноды готов: https://github.com/gl00my/ii-go Пока нет никакой морды, нет документации. Но решил показать что есть, вдруг кто-то pr накидает. ;)
Как посмотреть:
git clone https://github.com/gl00my/ii-go.git
cd ii-go/ii-tool go build
./ii-tool fetch http://idec.spline-online.tk (полный фетч в 6 потоков всех эх (нужна поддержка list.txt), запускается только если видит, что база ноды изменилась, по наличию последнего сообщения)
./ii-tool -lim=-32 fetch http://idec.spline-online.tk (адаптивный фетч, спускается вглубь истории постепенно, по мере необходимости)
./ii-tool -lim=32 fetch https://club.syscall.ru (неадаптивный фетч, просто последние 32)
В конце можно указать файл с эхами или - для stdin
cat std.club | ./ii-tool -lim=32 fetch https://club.syscall.ru -
В итоге сольётся db и создастся db.idx - индекс. db - это просто бандл, и только этого файла достаточно, чтоб переносить базу.
можно теперь положить его к ноде:
mv db ../ii-node/ cd ../ii-node go build ./ii-node - и запустить ноду на 8080
Теперь можно пофетчить с 127.0.0.1:8080 и позамерять скорость.
Ну и посылка сообщений тоже есть, см. -h
Увлекательное занятие, должен я сказать. :)
|