
Michael
21.01.2018
14:13:58
а чего результаты аж на 5?

Alexey
21.01.2018
14:14:30
А да это еще не трогал)
я вот кстати не до конца еще буффер понимаю у канадов

Michael
21.01.2018
14:15:06
wg.Done()
ssh.Scan(host, results)
done после Scan?

Google

Alexey
21.01.2018
14:15:13
ой
defer
сорри
ща допишу)

Michael
21.01.2018
14:16:13
буфер канала результатов должен быть равен кол-ву опраш. хостов
а то дедлок будет

Alexey
21.01.2018
14:17:25
то есть len(hosts)?

Michael
21.01.2018
14:17:36
ну, да

Alexey
21.01.2018
14:17:57
Так он же вроде как запинывает по 5ть и выпинывает по 5ть? и блокируется в ожидании, или нет?

Michael
21.01.2018
14:18:02
если хостов много, делай вывод в отдельной рутине, как вариант
запишешь пять
буфер заполнен
и запись возможна как место там освободится

Google

Michael
21.01.2018
14:18:56
т.е. кто-то должен вычитать
или panic получишь с инфо что так и так все васи и рутины не работают

Alexey
21.01.2018
14:20:48
Хм, а что предпочтительней буферизированный канал или нет?
Вот в данном случае, когда известно кол-во хостов

Michael
21.01.2018
14:21:03
смотря в каком случае
я б сделал канал с буфером кол-во воркеров+1, а результаты писал бы в отдельной рутине
и всё равно сколько там хостов
в осн потоке синхронизировался бы, как то так)

meehalkoff✪
21.01.2018
14:23:10
для хранения данных key-value boltdb годится? Или есть что то лучше?

Alexander
21.01.2018
14:25:06

Alexey
21.01.2018
14:28:05

meehalkoff✪
21.01.2018
15:01:24
mongo
не совсем то, что нужно. нужно что то типа sqlite, но для key\value

Aleksandr
21.01.2018
15:02:29
Boltdb https://github.com/boltdb/bolt

Demian
21.01.2018
15:02:30
radis

Andrei
21.01.2018
15:02:35

meehalkoff✪
21.01.2018
15:04:19
спасибо, буду изучать предложенные варианты

Max
21.01.2018
15:07:12

Aleksandr
21.01.2018
15:09:14
Это кэш, а не хранилище

Google

Andrei
21.01.2018
15:10:48

Max
21.01.2018
15:14:59

Aleksandr
21.01.2018
15:15:59

Aleksandr
21.01.2018
15:16:18
если нужен кейвалью и не нужен персистенс - почему бы тупо в слайсе/мапе не хранить данные? зачем посредники?

meehalkoff✪
21.01.2018
15:17:36
Если я правильно понял значение персистанс, то под мою задачу это нужно.

Max
21.01.2018
15:17:59

Aleksandr
21.01.2018
15:18:20
в таком случае, снова предлагаю посмотреть в сторону этой либы
Boltdb https://github.com/boltdb/bolt

Andrei
21.01.2018
15:18:21

meehalkoff✪
21.01.2018
15:18:56
данных будет не много, 2-3 записи в минуту
https://github.com/dgraph-io/badger
И вот этот

Ahror
21.01.2018
15:23:05
https://github.com/dgraph-io/badger
И вот этот

Max
21.01.2018
15:26:37
Badger хорош, я на него тоже в свое время обратил внимание. Он быстрее RocksDB который в свою очередь обгоняет по некоторым операциям LevelDB.
Кроме того он написан чисто на Go, в отличии от остальных, то есть нет интероп простойки между C/C++ и Go

Vasily Romanov
21.01.2018
15:27:42

Max
21.01.2018
15:27:51
https://db-engines.com/en/system/Badger%3BRedis

Мерлин
21.01.2018
15:34:58
?
https://play.golang.org/p/-gF1qvNiUOy

Aleksandr
21.01.2018
15:36:42

Google

meehalkoff✪
21.01.2018
15:37:37

Andrew
21.01.2018
15:48:40

Мерлин
21.01.2018
15:49:08
Список каналов, посвящённых golang:
• @gophernews
• @golang
• @coolgo
• @golangjobfeed – вакансии
• @go_books – книги
• @vmestego – русскоязычные новости

Max
21.01.2018
15:50:16
Ну для тех задач которые нужны он подходит. Нужны просто собственные тесты
Горизонтальная масштабируемость мне сейчас не нужна

Nick
21.01.2018
15:53:19
такие сравнения обычно точно маркетинг

Max
21.01.2018
15:54:50
Поэтому же и говорю, нужны собственные тесты, не на синтетических данных
У LevelDB тоже нет горизонтальной мастабируемости кстати
https://db-engines.com/en/system/Badger%3BLevelDB

Michael
21.01.2018
15:59:58
cockroachdb может подойдёт

Max
21.01.2018
16:10:10
Вот только он бесплатен только для open-source проектов, а этот free план не умеет Backup & Restore
Если нужен действительно стабильный, бесплатный и функциональный persistance key-storage то пока кроме Radis-а я не вижу альтернатив

Vasily Romanov
21.01.2018
16:13:00
Tarantool
Но там порог входа чуть побольше

Michael
21.01.2018
16:15:54
тарантул разве не апп сервер на луа?

Vasily Romanov
21.01.2018
16:16:27
изначально это как раз persistance k/v
потом уже там сверху было много всего сделано, луа, файловый движок, sql сейчас пилят

Max
21.01.2018
16:18:56
Им вообще кто то пользуется? Столько его уже пиарат, а народ что то не ценит

Michael
21.01.2018
16:19:02
Tarantool is a Lua application server integrated with a database management system.

Google

Vasily Romanov
21.01.2018
16:19:42
mail.ru, avito, badoo
mamba вроде и qrator
внедряют в beeline, сбере, ещё в каких-то телекомах

Aleksandr
21.01.2018
16:20:23
у нас в одной команде юзают

Max
21.01.2018
16:21:28
И как отзываются?

Aleksandr
21.01.2018
16:22:01
просто юзают как инструмент. нареканий нет

Zaur
21.01.2018
16:23:18

Max
21.01.2018
16:23:51
Российские?

Zaur
21.01.2018
16:23:55
Просто его использовать сложнее, но кто использует, все довольны
Российские?
Ну я только с местными сталкивался. Но думаю не только здесь.

Max
21.01.2018
16:24:37
Просто это разработка Mail.Ru Group

Zaur
21.01.2018
16:25:13

Max
21.01.2018
16:40:07
Из-за отсутствия вот этой штуки: https://github.com/tarantool/tarantool/issues/1259
Народ взял и создал новую in-memory db:
https://habrahabr.ru/post/346884
А команда Tarantool до сих пор дрочит SQL наличие которой у key-value storage всьма сомнительная

Michael
21.01.2018
16:42:04
https://github.com/Restream/reindexer

Max
21.01.2018
16:42:47
Он самый

Ilya
21.01.2018
16:52:46

Alexander
21.01.2018
16:53:39
(картинка про 15 конкурирующих стандартов)

Ilya
21.01.2018
16:53:54
Мы вот тарантул пользуем, и sql сэкономил бы лично мне пару дней времени. Чисто по опыту.

John
21.01.2018
17:07:25
https://habrahabr.ru/company/oleg-bunin/blog/340062/

Max
21.01.2018
17:13:13

none
21.01.2018
17:29:28
ребята, может вы подскажете что не так в коде