
Nikolay
24.02.2018
23:02:10

Roman
24.02.2018
23:02:28

Denis
24.02.2018
23:02:38

Nikolay
24.02.2018
23:02:39

Google

Nikolay
24.02.2018
23:02:44

Roman
24.02.2018
23:02:59

Nikolay
24.02.2018
23:03:00
не вижу проблемы

Denis
24.02.2018
23:03:36
Вот только наличие большого числа процессов/тредов, на каждый реквест - огромный оверхед. Корутины же позволяют избавиться от него(привет гоу, нода)

Roman
24.02.2018
23:03:43
вот у тебя 10млн юзеров, у каждого, допустим, 10 событий в секунду случается. в какую бд ты будешь писать?

Nikolay
24.02.2018
23:03:46
есть много вариантов, и они уже решаются на стороне базы, го тебе тут никак все равно не поможет

Roman
24.02.2018
23:04:24

Nikolay
24.02.2018
23:04:27
как, собственно, и делает blizzard, например

Dmitry
24.02.2018
23:04:46
+1)

Google

Denis
24.02.2018
23:04:55
Но в гоу это однопоточные корутины
Тьфу. в питоне

Nikolay
24.02.2018
23:05:24

Roman
24.02.2018
23:05:35

Nikolay
24.02.2018
23:05:36

Denis
24.02.2018
23:05:52
Как и в ноде. К слову, коллега забыл await написать на ноде как-то, в результате потеряли тысяч 300 долларов

Nikolay
24.02.2018
23:06:30
а если будет?
ну, во-первых, не будет. Писать не будет, это тупо невозможно. Во-вторых, в случае чата можно спокойно писать в несколько баз, ибо нет связей между сущностями

Denis
24.02.2018
23:06:47

Nikolay
24.02.2018
23:06:58

Roman
24.02.2018
23:07:08

Некто
24.02.2018
23:07:18
Запись в базу для чата это дорого
Если писать туда всё
А не батчами

Nikolay
24.02.2018
23:07:35

Roman
24.02.2018
23:07:35

Denis
24.02.2018
23:07:36

Nikolay
24.02.2018
23:07:57
речь про mq
ок, тогда прокидывать весь поток говна в кафку и разгребать на топики отдельно

Roman
24.02.2018
23:08:25

Google

Nikolay
24.02.2018
23:08:35

Denis
24.02.2018
23:08:49

Nikolay
24.02.2018
23:08:56
ты не абстрактный пример придумывай, давай ближе к жизни

Denis
24.02.2018
23:09:12

Nikolay
24.02.2018
23:09:18

Некто
24.02.2018
23:09:34
Это пахнет вбивание в голову гвоздя ради инструмента
Либо го, либо тащить кафку
Это странно
:()

Dmitry
24.02.2018
23:10:01
в гоу тоже тащить придётся

Nikolay
24.02.2018
23:10:02
В гоу то то же самое
ну, не совсем так. Если у тебя есть два ядра и ты делаешь две горутины с i/o - можно быть почти уверенным, что го создаст поток

Denis
24.02.2018
23:10:02

Nikolay
24.02.2018
23:10:07
го не решает этих проблем точно так же, как не решает их питон
просто гошных воркеров нужно будет меньше

Roman
24.02.2018
23:11:07

Nikolay
24.02.2018
23:11:33
нет.
если есть i/o - то да
там есть тонкости, да, но в целом можно иногда явно предсказать поведение

Google

Denis
24.02.2018
23:12:15
Гоу всегда имеет запущеный пул потоков, равный числу ядер(регулируется через энв), а планировщик кидает задачи куда удобно в зависимости от занятости

Roman
24.02.2018
23:12:42

Nikolay
24.02.2018
23:12:58

Denis
24.02.2018
23:13:26

Nikolay
24.02.2018
23:13:28
там нет проблемы, что данные будут на нодах чуточку рассинхронизированы, поэтому горизонтально масштабировать можно сколько угодно

Roman
24.02.2018
23:13:28

Nikolay
24.02.2018
23:13:59
да. и?
и - твой пример про 8.8.8.8 невалиден немного

Dmitry
24.02.2018
23:14:00
это вообще eventual consistency.

Admin
ERROR: S client not available

Nikolay
24.02.2018
23:14:20
причем тут го - непонятно

Roman
24.02.2018
23:14:26

Nikolay
24.02.2018
23:14:50
dns масштабируется шикарно
надо всего лишь быстро уметь данные из локального кэша отдавать

Roman
24.02.2018
23:15:50

Dmitry
24.02.2018
23:16:12
чуть больше чем с go)

Google

Nikolay
24.02.2018
23:16:16
а что?

Roman
24.02.2018
23:16:56

Nikolay
24.02.2018
23:17:22
это я ненавязчиво намекаю на japronto или что-то подобное

Roman
24.02.2018
23:18:05

Denis
24.02.2018
23:18:15
Мне кажется вы потеряли саму суть вопроса выбора инструмента. По сути, для бизнеса, вполне можно написать DNS сервер и на питоне так, что бюджет не будет ОООЧЕНЬ больше, чем на гоу. Вопрос в том, что на питоне будет оверхед, при разработке на питоне вы НЕ ПОЛУЧИТЕ выгоды от экосистемы питона. А на гоу вы получите лучшее качество, за счёт типизации, обработки ошибок, скорости.

Nikolay
24.02.2018
23:18:40

Некто
24.02.2018
23:19:06
https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=go&lang2=python3 бгг

Roman
24.02.2018
23:19:10
если что, мой поинт в том что хорошо масштабироваться когда можно просто шардить юзеров.

Nikolay
24.02.2018
23:19:11
Мне кажется вы потеряли саму суть вопроса выбора инструмента. По сути, для бизнеса, вполне можно написать DNS сервер и на питоне так, что бюджет не будет ОООЧЕНЬ больше, чем на гоу. Вопрос в том, что на питоне будет оверхед, при разработке на питоне вы НЕ ПОЛУЧИТЕ выгоды от экосистемы питона. А на гоу вы получите лучшее качество, за счёт типизации, обработки ошибок, скорости.
ну да, если загнать в такие рамки, то у го будет преимущество, потому что бизнес-логики тут особой не надо

Некто
24.02.2018
23:19:15
Смешные цифры

Roman
24.02.2018
23:19:38
и плохо, когда ты это делать не можешь и заперт в рамках одного процесса

Nikolay
24.02.2018
23:19:45
в итоге выйдет немного дороже, да
но зато гибче

Roman
24.02.2018
23:20:28
и из быстрых механизмов ipc есть только shared memory, но она требует синхронизации

Nikolay
24.02.2018
23:21:11

Roman
24.02.2018
23:21:39

Nikolay
24.02.2018
23:21:48