
Anatoly
09.03.2018
08:45:31
никто не запрещает

Andrey
09.03.2018
08:48:54
Кстати, тарантул очень подходит на ту задачу, которую ты решаешь. Инмемори дб с реплекпцией
Nosql, естественно
На самом деле, даже похоже, что ты его заново пытаешься изобрести

Google

m
09.03.2018
08:57:17
вроде работает https://play.golang.org/p/UbTYUD7CT8R

Ilnur
09.03.2018
09:06:18

m
09.03.2018
09:06:43
работает даже если содержимое map-а менять : https://play.golang.org/p/YHfEpR4ADo-

Daniel
09.03.2018
09:06:52
редис
1. не имеет отказоустойчивости
2. странно ведет себя на высокой нагрузке

m
09.03.2018
09:07:33
а тарантул under construction перманентно.
то это не работает, то то ещё не сделали....

Vasily Romanov
09.03.2018
09:07:57
Он достаточно стабилен для продакшена

Daniel
09.03.2018
09:08:25
помимо редиса и тарантула есть еще масса вариантов
так что это все отговорки

m
09.03.2018
09:09:16
отговорки от чего? решение в 10 строчек надо поменять на БД?

Vladimir
09.03.2018
09:09:45

m
09.03.2018
09:10:00
Это квыглядит как приходит новый техдир и через неделю говорит: надо переписать всё нах.

Daniel
09.03.2018
09:10:13
обычно и правда надо

Google

Daniel
09.03.2018
09:10:36
но это потому, что любой наш софт перманентно в состоянии "надо переписывать"

m
09.03.2018
09:11:05
Даже если надо, то в итоге выйдет ровно то же самое, что тоже надо переписать ?

Nick
09.03.2018
09:11:21

Daniel
09.03.2018
09:11:38
это так, как есть

m
09.03.2018
09:12:23
мне кажется, что софт должен быть устойчивым к разным потрясениям.
"техдиры" приходят и уходят, а ему работать. ?

Daniel
09.03.2018
09:13:46
но мой совет, как разраба аналогичного софта с богатым опытом: сразу взять субд с репликацией (а то и с отказоустойчивостью). и прикрутить к нему очередь. а к очереди - средство контроля консистентности, например - монотонно увеличивающийся идентификатор сообщения

Vladimir
09.03.2018
09:14:08
Потому что это будет надёжнее чем готовая

Nick
09.03.2018
09:15:33

m
09.03.2018
09:15:38
я почему ещё не хочу БД - это дополнительная сложность. Причём вполне сопоставимая с основной задачей. кроме репликации и бэкапов вылезают ещё мониторинг, алертинг, развёртывание и куча всего. Об этом обычно не думают. Типа, поставим БД и будем туда всё складывать. Но когда всем этим самому в итоге заниматься, то 200 раз подумаешь.

Daniel
09.03.2018
09:16:19

Vladimir
09.03.2018
09:16:23
если так, то звучит как серебряная пуля

Nick
09.03.2018
09:16:40

m
09.03.2018
09:17:04
А что тут вчитываться? Мне не нужны все эти консистентности, гарантии и прочее.

Vladimir
09.03.2018
09:17:22
пусть живет в рамках одного хоста

m
09.03.2018
09:17:42
есть БД, которая шлёт смс, когда она упала? Я отстал от жизни.

Daniel
09.03.2018
09:17:56

Google

m
09.03.2018
09:18:51
Как раз наоборот. Я уже устал от всего этого и не хочу опять влезать в БД снова.

Vladimir
09.03.2018
09:19:10

m
09.03.2018
09:21:00
я делаю то, что мне интересно делать и то, что считаю нужным.

Daniel
09.03.2018
09:21:09
это мы поняли.
а еще ты думаешь, что консистентность не нужна.

m
09.03.2018
09:21:34
надеюсь, что хорошо развлёк вас этим утром.

Daniel
09.03.2018
09:21:50
как ты собираешься баги отлавливать, с неконсистентностью связанные - мы не знаем и знать не хотим

Артем
09.03.2018
09:21:59

m
09.03.2018
09:22:25
какое начальство?

Vladimir
09.03.2018
09:23:06
@MichaelMonashev так а зачем тебе вообще сообщать куда-то инфу о юзерах, если тебе эта инфа не важна?

Артем
09.03.2018
09:23:13

Артем
09.03.2018
09:23:17
тогда ок

Vladimir
09.03.2018
09:23:19
и консистентность и строго говоря ее наличие не имеет значение?

m
09.03.2018
09:23:29

Артем
09.03.2018
09:25:27
вообще не понимаю такого поведения, из раза в раз наблюдаемого
прийти к сообществу людей со своим мнением, рассказать его, получить критику и предложения и начать яростно его отстаивать
много свободного времени что ли?
особенно со своим проектом

Vladimir
09.03.2018
09:26:40
лично мне пока еще интересно понять почему он так решил делать

Google

m
09.03.2018
09:27:32
да-да-да. Ещё больше сейчас расскажу, а потом кто-то придёт и скажет: нафига ты всё это рассказал и отбиваешься от тех, кто говорит, как надо.

Артем
09.03.2018
09:27:55

m
09.03.2018
09:28:02
так я и не хотел

Andrey
09.03.2018
09:28:07

Nick
09.03.2018
09:30:55

Andrey
09.03.2018
09:31:39

m
09.03.2018
09:31:41
В распределённой системе можно иметь постоянно растущий на 1 счётчик.
если система на Паксосе, то им может быть очередной инстанс паксоса

Admin
ERROR: S client not available

m
09.03.2018
09:32:49
т.е. номер пачки данных, которая реплицируется по нодам.

Daniel
09.03.2018
09:32:49

m
09.03.2018
09:33:25
"по порядку в потоке" - что это значит?

Nick
09.03.2018
09:33:47

m
09.03.2018
09:34:11
гугли описание Paxos-а

Nick
09.03.2018
09:34:40
Причём тут паксос

Andrey
09.03.2018
09:34:45


[Anonymous]
09.03.2018
09:34:48
Приветствую, требуется парсер фб. Цель: спарсить весь фб
Реализация:
Фэйсбук имеет жесткие лимиты на почти весь парсинг, кроме парсинга по типу имя + город.
Этим и воспользуемся.
Указываем список городом и список имен. Парсим все, что нам выдают.
Алгоритм будет примерно такой:
Имеется города Нью-йорк, Филадельфия
имена: Минди, Джон, Алиса
Парсер обрабатывает так:
Минди + Нью-йорк, Джон + Нью-йорк, Алиса + Нью-йорк
Минди + Филадельфия, Джон + филадельфия, Алиса + филадельфия
Понадобится где-то 1 к потоков. Вероятно, использовать амазон (как я понимаю, они для этих целей имеют сервера)
Прокси ipv6.
Вероятно, через браузер или имитацию его. Хотя можно и через хттп запросы попробовать.
Аккаунты, в любом случае, будут лететь в бан, так что нужен регистратор, который будет подтягивать аккаунты на время парсинга.
Далее все это собирается в базу. В которой мы можем:
1) Использовать минус-слова по нужным нам категориям. (например, имя и слово "Лера". Все люди с именем Лера, удалятся)
2) Плюс слова по нужным нам категориям. Например, имя и слово "Лера". Все люди с именем Лера, останутся.
Этап фильтрации многоступенчатый. Т.е. операции плюс и минус слов могут использоваться несколько раз. Как в обычной бд.
А также понадобится рейтинг по самым популярным совпадениям. Приведу пример. У нас есть категория Имя. Софт считает, сколько имен совпадает и выстраивает рейтинг от самого большого количества к самому меньшему.
Если у нас в Списке:
Сергей Филатов
Сергей Есенин
Александр Пушкин
Софт выстроит все так:
Сергей - 2
Александр 1
Категории:
1) !Вся! графа Favorites (рейтинг)
2) Образование
3) Город
4) имя и фамилия
5) Любимые цитаты (рейтинг_)
6) Работа (рейтинг)
7) пол


Nick
09.03.2018
09:35:08

Daniel
09.03.2018
09:36:32
"по порядку в потоке" - что это значит?
ну у тебя есть поток сообщений. то, что он консистентный, можноопределеить только если в нем монотонно возрастающий id у сообщений. даже если у тебя есть источник таких id - в распределенной системе ты никак не можешь проконтролировать, что в поток сообщения попадут в нужном порядке

m
09.03.2018
09:37:54
они сначала попадают в распределённую систему, реплицируются там и только потом она им может дать уникальный монотонно растущий id.

Google

Daniel
09.03.2018
09:38:15
я весь 2016 потратил на эту херню
возможно, надо даже доклад на эту тему сделать

m
09.03.2018
09:38:38
и после этого рекомендуешь БД?

Daniel
09.03.2018
09:38:45
до сих пор меня останавливало только то, что задача, в общем, решена
именно на бд она и решена
и решения там ой какие непростые

m
09.03.2018
09:40:03
так и говори, что вместо 10 строчек на Go, тебе надо потрахаться с годин как я, чтобы потом всем тоже рекомендовать использовать БД.

Andrey
09.03.2018
09:40:09
Да, но где там инфа про айдишники
Там несколько раз они в доке упоминаются. Я растерялся на какое место вам дать ссылку без более конкретного вопроса.
Each partition is an ordered, immutable sequence of records that is continually appended to—a structured commit log. The records in the partitions are each assigned a sequential id number called the offset that uniquely identifies each record within the partition.
Т.е. в контексте кафки идентификатор называется offset

Nick
09.03.2018
09:41:03

Daniel
09.03.2018
09:41:13

Артем
09.03.2018
09:41:42

Andrey
09.03.2018
09:42:04


Mykyta
09.03.2018
09:42:11
Приветствую, требуется парсер фб. Цель: спарсить весь фб
Реализация:
Фэйсбук имеет жесткие лимиты на почти весь парсинг, кроме парсинга по типу имя + город.
Этим и воспользуемся.
Указываем список городом и список имен. Парсим все, что нам выдают.
Алгоритм будет примерно такой:
Имеется города Нью-йорк, Филадельфия
имена: Минди, Джон, Алиса
Парсер обрабатывает так:
Минди + Нью-йорк, Джон + Нью-йорк, Алиса + Нью-йорк
Минди + Филадельфия, Джон + филадельфия, Алиса + филадельфия
Понадобится где-то 1 к потоков. Вероятно, использовать амазон (как я понимаю, они для этих целей имеют сервера)
Прокси ipv6.
Вероятно, через браузер или имитацию его. Хотя можно и через хттп запросы попробовать.
Аккаунты, в любом случае, будут лететь в бан, так что нужен регистратор, который будет подтягивать аккаунты на время парсинга.
Далее все это собирается в базу. В которой мы можем:
1) Использовать минус-слова по нужным нам категориям. (например, имя и слово "Лера". Все люди с именем Лера, удалятся)
2) Плюс слова по нужным нам категориям. Например, имя и слово "Лера". Все люди с именем Лера, останутся.
Этап фильтрации многоступенчатый. Т.е. операции плюс и минус слов могут использоваться несколько раз. Как в обычной бд.
А также понадобится рейтинг по самым популярным совпадениям. Приведу пример. У нас есть категория Имя. Софт считает, сколько имен совпадает и выстраивает рейтинг от самого большого количества к самому меньшему.
Если у нас в Списке:
Сергей Филатов
Сергей Есенин
Александр Пушкин
Софт выстроит все так:
Сергей - 2
Александр 1
Категории:
1) !Вся! графа Favorites (рейтинг)
2) Образование
3) Город
4) имя и фамилия
5) Любимые цитаты (рейтинг_)
6) Работа (рейтинг)
7) пол
Недавно делал парсер для одного сайта вначале начал на го, но там защита хитрогребучая со всякими куками и редиректами, рекомендую заюзать селениум, но селениум я на шарпе юзал


m
09.03.2018
09:42:35
у меня год назад была мысль написать отказоустойчивого демона для раздачи монотонно растущих id-шек. Но я так и не придумал, как всё нормально сделать, если клиент может взять id, не успеть её использовать, а потом умереть.

Daniel
09.03.2018
09:42:53
вот-вот

m
09.03.2018
09:43:32
ну и вообще, это реально нужно 10 людям в год. денег не заработаешь, короче.

Andrey
09.03.2018
09:44:11
Тогда зачем думать об устойчивости? Упало - запустили заново

m
09.03.2018
09:44:57
устойчивость нужна чтобы не шататься.
при ветре помогает.

Andrey
09.03.2018
09:45:24
Не грубите