Пишу ноду ii/idec на go

Вот и до меня добралось. :)
В общем, пишу ноду на 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

Увлекательное занятие, должен я сказать. :)
Ответы на это сообщение: Difrex (2020-09-02 08:47:26) Peter (2020-09-05 16:17:32) btimofeev (2020-09-09 19:11:20) hugeping (2020-09-18 07:16:08) hugeping (2020-09-26 11:05:55) vvs (2020-12-04 22:22:16)
Peter (2020-09-01 21:14:20) [Ответить]
Предыдущее сообщение Следующее сообщение