Size: a a a

Software Design/Architecture/Zen

2020 December 08

E

Egor in Software Design/Architecture/Zen
Gerr Mes
Раньше бекенды wargaming’а были на пайтоне, eve online на пайтоне - вполне себе хайлоад
Разве wargaming ушли с python? Вроде там до сих пор python и c++
источник

(

( in Software Design/Architecture/Zen
Gerr Mes
Раньше бекенды wargaming’а были на пайтоне, eve online на пайтоне - вполне себе хайлоад
А вы точно не путаете питон с эликсир/эрлангом?
источник

GM

Gerr Mes in Software Design/Architecture/Zen
Egor
Разве wargaming ушли с python? Вроде там до сих пор python и c++
Добавил «раньше» потому что давно не общался/интересовался что там - вдруг все переписано. Раньше на конфах старался посещать их стенды - можно было найти технарей - потрындеть что у них там да как.
источник

GM

Gerr Mes in Software Design/Architecture/Zen
(
А вы точно не путаете питон с эликсир/эрлангом?
Щас не знаю что у них, танки на пайтоне были
источник

E

Egor in Software Design/Architecture/Zen
корабли тоже на питоне
источник

GM

Gerr Mes in Software Design/Architecture/Zen
(
А вы точно не путаете питон с эликсир/эрлангом?
В 19 веке была бы дуэль ;))
источник

S

Shieldy in Software Design/Architecture/Zen
Dmitry S, please, press the button below within the time amount specified, otherwise you will be kicked. Thank you! (60 sec)
Powered by Todorant
источник
2020 December 09

YG

Yury Golikov in Software Design/Architecture/Zen
Anatoly Kireev
Тогда получается первый вариант. По айдишникам инцидента получаю его категорию и тип, по ид пользователя, его права, все это обрабатываю, потом "выбрасываю". И затем по ид инцидента уже загружаю агрегат и с ним работаю касательно бизнес логики.
Чаще ACL эт обобщенная инфа, которая отдельно хранится. Вот как в spring например
ACL_SID
ACL_CLASS
ACL_OBJECT_IDENTITY
ACL_ENTRY
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
Добрый день. Мне с моим вопросом посоветовали этот чат, как профильный.
У меня есть 2 сервера, с keydb репликой между ними М-М. В одной из баз используются списки и через реплику я более менее обеспечиваю что данные есть на обоих нодах. У меня есть скрипт который должен монопольно доставать из списков данные и обрабатывать их. Вопрос в следующем - как я могу организовать работу скрипта на обоих нодах? Я так понимаю надо гдето как то маркировать какой скрипт сейчас продуктивный (и придется состояние скрипта отслеживать как то - сейчас все делается в рамках systemd на уровне работает/не работает) или как то организовывать параллельную работу обоих скриптов, что мне нравится меньше. Что можете посоветовать?
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
Да - я читал Таннебаума по распределенным системам, но хотелось бы полезных практических советов
источник

SA

Sergey Alaev in Software Design/Architecture/Zen
ShadoWalkeR
Добрый день. Мне с моим вопросом посоветовали этот чат, как профильный.
У меня есть 2 сервера, с keydb репликой между ними М-М. В одной из баз используются списки и через реплику я более менее обеспечиваю что данные есть на обоих нодах. У меня есть скрипт который должен монопольно доставать из списков данные и обрабатывать их. Вопрос в следующем - как я могу организовать работу скрипта на обоих нодах? Я так понимаю надо гдето как то маркировать какой скрипт сейчас продуктивный (и придется состояние скрипта отслеживать как то - сейчас все делается в рамках systemd на уровне работает/не работает) или как то организовывать параллельную работу обоих скриптов, что мне нравится меньше. Что можете посоветовать?
что значит - работу скрипта на обоих нодах?
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
В том смысле что скрипт работает одновременно на обоих серверах, но в один момент времени только одна из копий скрипта имеет доступ к данным и обрабатывает их. И если чтото пошло не так - другой скрипт подхватил обработку данных. Ну или работают оба скрипта, но как то отдельные списки в keydb обрабатывают (имена, количество и тд плавающее, поэтому явно не получится задать)
источник

SA

Sergey Alaev in Software Design/Architecture/Zen
ShadoWalkeR
В том смысле что скрипт работает одновременно на обоих серверах, но в один момент времени только одна из копий скрипта имеет доступ к данным и обрабатывает их. И если чтото пошло не так - другой скрипт подхватил обработку данных. Ну или работают оба скрипта, но как то отдельные списки в keydb обрабатывают (имена, количество и тд плавающее, поэтому явно не получится задать)
Приходит в голову три варианта - а) сделать мьютекс, если в базе есть поддержка атомарных операций а-ля increment-and-get б) списки разделяются между скриптами по хешу имени, например. в) отдельный сервис гуляет по этим спискам, складывает задачи по их обработке в очередь, два скрипта вычитывают задачи из очереди.
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
Пока вижу только через марию на обоих нодах кэш сделать с локами - все же реплика там у меня больше доверия вызывает, том более что редис/кейдб не гарантируют доставку данных.
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
б - сразу не вариант. С ростом нагрузки оно будет сильно гулять. Плюс если скрипт, обрабатывающий очередь помер - другой должен узнать об этом и забрать себе его работу
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
ShadoWalkeR
Пока вижу только через марию на обоих нодах кэш сделать с локами - все же реплика там у меня больше доверия вызывает, том более что редис/кейдб не гарантируют доставку данных.
один скрипт фигачит просто задачи на обработку в очередь непересекающиеся
и сколь угодно много других их обрабатывают
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
Sergei Baikin
один скрипт фигачит просто задачи на обработку в очередь непересекающиеся
и сколь угодно много других их обрабатывают
Все равно нужно 2 скрипта, разгребающих задания и задача возвращается к изначальной
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
ShadoWalkeR
б - сразу не вариант. С ростом нагрузки оно будет сильно гулять. Плюс если скрипт, обрабатывающий очередь помер - другой должен узнать об этом и забрать себе его работу
почему ващу очередь может только один обрабатывать а не произвольное число?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
ShadoWalkeR
Все равно нужно 2 скрипта, разгребающих задания и задача возвращается к изначальной
так хоть 50
если задания не пересекающиеся в чем проблема
источник

S

ShadoWalkeR in Software Design/Architecture/Zen
Потому что коллцентр - 2 звонка запихать одновременно операторам не получится при всем желании
источник