@gogolang

Страница 1600 из 1630
Roman
22.10.2018
13:50:40
а вот почему так мало сетевых демонов на go?

John
22.10.2018
13:50:49
Roman
22.10.2018
13:52:04
а зачем они нужны ?
даже не знаю с чего начать...

John
22.10.2018
13:52:29
даже не знаю с чего начать...
ну, хотя бы пару примеров, зачем оно может быть надо :)

Google
Pawel
22.10.2018
13:57:24
а вот почему так мало сетевых демонов на go?
за время существования Го их не так много новых появилось, и почти все на Го, а не на сях

Roman
22.10.2018
14:04:25
Pawel
22.10.2018
14:07:56
да я даже не про демоны, а про реализации протоколов =/
Имеете ввиду системный стек на голанг переписать, или что то вроде pure go zmq ?

Roman
22.10.2018
14:09:05
Darwin
22.10.2018
14:11:06
зачем?

бгп вон есть

не представляю, кому понадобится оспф демон написанный на го

или вообще на чем угодно

есть же квагга, берд, этим все пользуются

John
22.10.2018
14:12:58
есть же квагга, берд, этим все пользуются
Именно. Зачем трогать то, что работает уже много лет, на новую поделку которой пользуются 1.5 калеки

Darwin
22.10.2018
14:13:28
угу

Google
Roman
22.10.2018
14:21:32
и баги квагги

Vladimir
22.10.2018
14:21:47
Именно. Зачем трогать то, что работает уже много лет, на новую поделку которой пользуются 1.5 калеки
знаю 2 конторы которые поверх UDP написали свои транспорты и неафишируя используют

John
22.10.2018
14:22:44
знаю 2 конторы которые поверх UDP написали свои транспорты и неафишируя используют
раз написали, значит, у них была на то своя причина :) В моей практике, в каждой компании поверх tcp/udp была пачка своих велосипедов

John
22.10.2018
14:24:25
отсюда вывод пишем чем больше тем лучше.... слабое отомрет само
нууу... если это проприетарный протокол для закрытых железок, он явно никому не помешает ))

Vladimir
22.10.2018
14:25:25
google?
нет российские

Roman
22.10.2018
14:25:44
вообще, это хорошо

Vladimir
22.10.2018
14:26:25
если молчать что гоняешь криптопрошные данные

Roman
22.10.2018
14:26:38
более того, сейчас один из протоколов поверх udp проходит стандартизацию в ietf

Roman
22.10.2018
14:28:07
Darwin
22.10.2018
14:28:10
а

ну так то он давно в продакшене )

Roman
22.10.2018
14:28:49
ну так то он давно в продакшене )
то гугловый. от ietf версии он отличается.

Dmitri
22.10.2018
14:29:01
Добрый день. В определенный момент времени необходимо отправить много независимых запросов, думаю использовать для этого горутины, подскажите есть ли смысл использовать какой-то пул? Если да - то какой?

Vladimir
22.10.2018
14:29:02
ну так то он давно в продакшене )
от продакшена до стандарта де-юре пропасть

Roman
22.10.2018
14:29:30
ну так то он давно в продакшене )
гугл свою версию дропнет, когда ietf выкатит стандарт

@darwinggl вообще, все началось с bfd.

Google
Dmitri
22.10.2018
14:35:40
Подскажите как правильно реализовать отправку, скажем, нескольких тысяч запросов. Не забьется ли канал если использовать горутины и какие проблемы могут возникнуть?

Dmitri
22.10.2018
14:36:57
зависит от канала
ну а не подскажите как сделать красиво и правильно? Может ограничить кол-во горутин? Есть какая-то зависимость?

Иван
22.10.2018
14:38:13
ну а не подскажите как сделать красиво и правильно? Может ограничить кол-во горутин? Есть какая-то зависимость?
Не к го а в целом обычно используют пулл воркеров. Количество которых регулируется

Dmitri
22.10.2018
14:38:58
Не к го а в целом обычно используют пулл воркеров. Количество которых регулируется
то есть штамповать горутины без ограничения по кол-ву будет плохой идеей для этой задачи?

Foxcool
22.10.2018
14:39:12
конечно

Darwin
22.10.2018
14:39:27
все упрется в сетевой стек)

Foxcool
22.10.2018
14:39:41
и потенциальное количество запросов

Иван
22.10.2018
14:39:50
то есть штамповать горутины без ограничения по кол-ву будет плохой идеей для этой задачи?
Представь у тебя 10000 соединений будет. Всю сеть положишь просто, хорошо если не забанят. Я бы таки ограничил

Vladimir
22.10.2018
14:40:05
то есть штамповать горутины без ограничения по кол-ву будет плохой идеей для этой задачи?
сетевые функции и ширина канала будут самым узким местом , чего ж туда кидать миллионы рутин

Иван
22.10.2018
14:40:34
Я бы ограничил 100 больше смысла нет

Dmitri
22.10.2018
14:40:34
Представь у тебя 10000 соединений будет. Всю сеть положишь просто, хорошо если не забанят. Я бы таки ограничил
у меня задача такая: надо отослать одновременно много пушей на сервер apple

Иван
22.10.2018
14:41:14
Сделай канал из которого 100 горутин например получают таски

Dmitri
22.10.2018
14:42:04
Сделай канал из которого 100 горутин например получают таски
Окей, попробую. А каким образом вычислить оптимальное их кол-во?

Foxcool
22.10.2018
14:42:23
кстати, а есть ли смысл как-то городить динамический пул, у которого есть ограничение сверху, а снизу нет. Т.к. роутина создается каким-то образом новая, только если все остальные заняты и количество не достигло максимальнок

и как это красиво сделать

Иван
22.10.2018
14:42:33
Окей, попробую. А каким образом вычислить оптимальное их кол-во?
Тут наверно надо просто тестить. Но это не точно

Google
Aleksandr
22.10.2018
14:43:25
и как это красиво сделать
сделай менеджер запускающий N воркеров и по каналу отправляющий таски в них

Vladimir
22.10.2018
14:43:44
и как это красиво сделать
100 рутин-таскеров висящих и ждущих работы вполне красиво

Foxcool
22.10.2018
14:43:47
сделай менеджер запускающий N воркеров и по каналу отправляющий таски в них
ну обычный пул с фиксированным числом роутин для меня не новость.

Да и даже без практики гуглится куча примеров

а вот вопрос был про динамический и его целесообразность

Darwin
22.10.2018
14:44:31
куча рутин с рейт лимитером

Roman
22.10.2018
14:44:37
https://geeks.uniplaces.com/building-a-worker-pool-in-golang-1e6c0fdfd78c

Dmitri
22.10.2018
14:58:49
func worker(id int, jobs <-chan int) { for j := range jobs { ... } } for w := 1; w <= 3; w++ { go worker(w, jobs) } После этого кода у нас 3 горутины ожидают элемента в канале jobs. Далее мы делаем jobs <- j , какая горутина примет этот элемент, всё зависит только от порядка создания?

Dmitri
22.10.2018
15:00:42
то есть запуститься первой может и w=2?

John
22.10.2018
15:00:59
Да, зависит уже от планировщика

Daniel
22.10.2018
15:01:09
какая первая заблокируется на чтении - та и получит

в общем случае - это та, которая первой запустилась

но вот какая из них запустилась первой - мы не знаем

Dmitri
22.10.2018
15:03:00
спасибо

Mi
22.10.2018
15:07:28
Можете скинуть инфу как правильно оргаизовывать код в Гошеньке ?! Заранее спасибо !

Google
Misha
22.10.2018
19:04:24
Всем привет! Такой момент, го преждевременный выход из if не делает в случае if false && .. {}?

anatolii
22.10.2018
19:06:14
Чего?

Dmitriy
22.10.2018
19:06:36
Привет, во избежание поиска мусора в голову. https://github.com/kildevaeld/go-acl нормальная ли библиотека для создания АЦЛ?

или лучше casbin?

Misha
22.10.2018
19:07:13
Чего?
В плюсах если левый операнд в "и" ложен, то выражение дальше не проверяется, ибо ложь и что угодно есть ложь

Roman
22.10.2018
19:08:01
Misha
22.10.2018
19:08:16
Вот и пишу, тк напоролся

И пытаюсь понять, это я дурак или лыжи не едут

Misha
22.10.2018
19:09:13
anatolii
22.10.2018
19:09:19
?

Misha
22.10.2018
19:10:08
Делал проверку на nil указателя и после этого в условии тащил из него данные для проверки. Словил еррор на нил поинтер. Когда вытащил в отдельное условие и сделал преждевременный выход, все прошло

Страница 1600 из 1630