
Vladimir
03.04.2017
13:28:38
берёшь и шлёшь.

Roman
03.04.2017
13:28:41
пришла продажа я ее зафиксировал

zk
03.04.2017
13:28:46

Vladimir
03.04.2017
13:28:47
ок.

Google

Roman
03.04.2017
13:28:57
хочу сохранрить стейт
но точек у меня дохера

Vladimir
03.04.2017
13:29:30

Roman
03.04.2017
13:33:47
я не хочу их все в памяти дерджать тем более что там не толкьо продажи но и остатки и выкладка и в целом они хранят много информации, а еще есть склады где еще больше информации хранистя и фуры преемеш\щаются между складами, а между точками курсируют газельки. и в целом все построено в попытках реализоавть ддд es cqrs. Да можно грузить в из бд, но тогда тяжелые запросы получаются и обработка одной продажи ради которой надо будет восстановить состояние актора, уж слижком долго будет происходить, что не круто. раз эрланг супер быстрый

Pavel
03.04.2017
13:34:49
можно думаю в две ступени
первая ступень хранить в родительских процессах, втроая уже для родительских но в базе
или не получится?

Roman
03.04.2017
13:35:56

Pavel
03.04.2017
13:36:15
вообще если у тебя большая торговая база и логистика, я незнаю как ты будешь консистентность данных в кластере обеспечивать
ну тоесть тот же баланс

shadowjack
03.04.2017
13:36:30
Стейт у актора может быть либо в самом акторе, либо в ETS.

Roman
03.04.2017
13:36:47
в акка сделали бинарную сереиализацию и команду LoadSnapshot и дальше восстановление по событийно от момента снэпшота

Pavel
03.04.2017
13:36:51
и десять одновременных транзакций на списание баланса

Google

shadowjack
03.04.2017
13:37:15
Но вот как его мигрировать чтобы сохранить и доступность, и целостность это та еще задача.

Roman
03.04.2017
13:37:29

Pavel
03.04.2017
13:38:20
а где акка хранит?
если кластер

Roman
03.04.2017
13:39:13
а где акка хранит?
в бд в бинарном виде, каждый узел кластера где могут развернуться акторы с состоянием в бд, должны видеть эту бд.

Pavel
03.04.2017
13:39:24
а бд на чем?

Roman
03.04.2017
13:39:28
возможно mnesia как раз позволяет
а бд на чем?
там много ращличных и oracle и постгрес и eventstore и касандра и монга и лайтдб

Pavel
03.04.2017
13:40:38
понятно. надо глядеть. тут класическая херня может оказаться. сама бд для кучи акторов станет узким местом.. гонка за ресурсами там
прочие грабли

Roman
03.04.2017
13:41:17

Pavel
03.04.2017
13:41:27
ктото тут юзает касандру
в облаках
в этом чате общался в субботу
тожео чтото говорят не в восторге, типа ресурсов много жрет
надо тебе сним пообщаться

Roman
03.04.2017
13:42:37
интереснее то, что в акка есть api для работы со стейтами, подобного в erlang нет?

Pavel
03.04.2017
13:43:30
ну а вдруг ты в этом api в ограничения уткнешься. тут лучше следовать принципу simple made easy

Google

Roman
03.04.2017
13:43:31
или вс еже ерланг больше дял других задач? Хотя тогда зачем эликсир?
хотя ладно пофиг

Pavel
03.04.2017
13:44:30
свиду выглядит просто неспорю.
это какбы больше по опыту
иногда огромный демон из мелочей вылазит

Roman
03.04.2017
13:44:55
это какбы больше по опыту
да понимаю, но как же это делается обычно? не лезть же бд каждый раз? когда тут потрясающие способности к кэширвоанию например и к тому же es+sqrs

Pavel
03.04.2017
13:46:04
вообще у ФП в целом потрясающие возможности к кэшированию

Roman
03.04.2017
13:46:06
можно самому начат ьреализовывать, но неудели никто не делал до этого?

Pavel
03.04.2017
13:46:14
хотя база это сайдэффект
могу ошибаться в данном случае

Roman
03.04.2017
13:46:24

Roman
03.04.2017
13:46:47
разделение сайдэффектов от чтения это тоже давний подход

Pavel
03.04.2017
13:48:43
не торопись делать выводы. ерланг очень древняя платформа, подобные проблемы высоковероятно вылазили уже неоднократно и должны быть выработанные эффективные подходы их решения. просто надо получше порыть
тут я просто остерегаю. РАз этого сходу нет может подход другой

Roman
03.04.2017
13:49:06
да но эралнг был сделан для других зачдач изначально

shadowjack
03.04.2017
13:49:35
Сериализовать эрланговский стейт это одна строчка. Наверное по этому и api нет.

Pavel
03.04.2017
13:49:56
ну к примеру задача билинга телефонных разговоров и поддержание стейта с этим связанного
и так 500000 абонентов

Google

Roman
03.04.2017
13:50:18
звонок может прерваться но и стейт утратится т.к. он больше не нужен

Pavel
03.04.2017
13:51:34
ну да. какже.. бабло уже с тебя вычитают

Vladimir
03.04.2017
13:51:35

Pavel
03.04.2017
13:51:38
зная наших операторов
и в балансе отразитсяф

Roman
03.04.2017
13:52:08

shadowjack
03.04.2017
13:52:14
ну генсервер ты когда рождаешь даешь ему функцию которая вернет ему начальный стейт. Можешь достать его из базы.

Admin
ERROR: S client not available

Vladimir
03.04.2017
13:53:58
Тут либо консистентность строгая, но тогда стейт в базе, либо слабая, и тогда стейт можно размазывать, но конфликты разруливать придётся самим.
Кассандра - очень годное решение, но и там надо уметь тюнить её под свои задачи.
То, что есть какой-то волшебный АПИ, ничего не говорит о том, что под капотом.
И то, что там поддерживаются концептуально разные СУБД, уже говорит о том, что это ограниченное решение, работающее, в "коридоре" возможностей.

Roman
03.04.2017
13:58:18

Pavel
03.04.2017
13:58:55
а вообще касандра сколько паралельных соединений может держатть?

Vladimir
03.04.2017
13:59:16
Встраивание сохранения восстановления в актор в Эрланге очень просто. Но API, выбранный для самой функции сохранения восстановления разработчик выбирает сам.

Roman
03.04.2017
13:59:49

Vladimir
03.04.2017
14:00:00

Google

Roman
03.04.2017
14:01:45

Vladimir
03.04.2017
14:08:08
звонок может прерваться но и стейт утратится т.к. он больше не нужен
В принципе да, но, кстати, в Kazoo мы на hangup отдавали в биллинг кое-что из стейтов a-leg и b-leg, например направления звонка, длительность, как он был сделан (VoIP, войсмейл по таймеру, или форвардинг с PSTN). Это как раз в некотором смысле сериализация актора, но в одну сторону.

Roman
03.04.2017
14:09:50
В принципе да, но, кстати, в Kazoo мы на hangup отдавали в биллинг кое-что из стейтов a-leg и b-leg, например направления звонка, длительность, как он был сделан (VoIP, войсмейл по таймеру, или форвардинг с PSTN). Это как раз в некотором смысле сериализация актора, но в одну сторону.
понятно, спасибо

shadowjack
03.04.2017
15:12:55
А как джанго по сравнению с рельсами?

Dmitry
03.04.2017
15:19:09

Roman
03.04.2017
15:43:18

shadowjack
03.04.2017
15:48:16
А питоновский чатик есть?

abc
03.04.2017
15:56:03

Александр
03.04.2017
15:58:20
вот декораторы в питоне активно используются?
магия ведь?
чёрная
и в Джанге они сплошь и рядом

Dmitry
03.04.2017
15:58:55
Декораторы знать не method missing
Там код посмотрел и норм

Александр
03.04.2017
15:59:15
во вьюшки попадают хелперы хрен знает откуда в джанге

abc
03.04.2017
15:59:27
ну как магия, поведение предсказуемо. я про то что в джанго нет соглашений как в рельсе.
все что передал во view там и будет

Александр
03.04.2017
16:02:27
кстати, да, про вьюшки посмотрел, там {% load ... %} повсюду
ну всё же, несмотря на это сложно понять что именно они привносят

abc
03.04.2017
16:03:26
мне вот в руби не нравится что все валится в глоьальный неймспейс. и не понятно какой метод из какой библиотеки загружен