hashgossip

command module
v0.0.0-...-7454124 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2018 License: MIT Imports: 15 Imported by: 0

README

hashgossip

Пример упрощенной реализации gossip-протокола для децентрализованной передачи сообщений между узлами.

Каждый узел генерирует случайные сообщения с контрольной суммой.

Локальное хранилище узла ограничено одним сообщением, поэтому сохраняется только сообщение с самой "большой" контрольной суммой. После завершения сеанса связи у всех узлов должно быть одинаковое сообщение в локальном хранилище.

Конфигурация

Настройки хранятся в файле config.toml.

# Адрес для первичного поиска пиров и обмена служебными сигналами
MulticastAddress = "224.0.0.1:9999"
# Максимальное количество сообщений за сеанс выбарается рандомно из диапазона [0:LimitMessages]
LimitMessages = 10
# Примерный процент "испорченных" сообщений [0:100]
InvalidFrequent = 5

Быстрый старт

go get github.com/DemonVex/hashgossip

Сборка бинарника

make build

Запуск N экземпляров приложения. Каждый экземпляр пишет логи в отдельный файл в папке _logs

make N={num} run
e.g. make N=10 run

Снимок содержимого локальных хранилищ (через multicast запрос)

make watcher

Отправить всем узлам (через multicast) запрос на завершение работы

make kill

Отправить сигнал kill и почистить папку с логами

make clean

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL