Size: a a a

2022 January 16

AD

Andrey Dembitskyi in symfony
Честно, хз.
Может и одного контекста есть кейсы, но у меня сносных кейсов нет.
@shmaltorhbooks ?
источник

SP

Sergey Protko in symfony
я могу представить себе ситуацию когда нужно оптимизировать чтение но очень маловероятно что я в это упрусь и буду скорее решать вьюшками всякими да прочими вещами
источник

Ш

Шурик in symfony
у меня свой опыт, где я и моя команда - не овнеры базы и нельзя просто взять и разнести всё по разным таблицам
приходится изворачиваться и разделять одну строку в таблице на разные сущности, иначе начинается хаос
источник

Ш

Шурик in symfony
то есть уже начался, но хочется как-то обуздать
источник

SP

Sergey Protko in symfony
а ну валидный кейс да
источник

SP

Sergey Protko in symfony
я правда тогда не пытался это через доктрину делать)
источник

Ш

Шурик in symfony
при этом реально есть кейсы, когда один набор пропертей и связей живёт своей жизнью, другой набор полей - своей
они используются-редактируются в разных случаях и разными людьми для разных целей. а почему в одной табличке - ну так сложилось, сейчас уже больно менять
источник

SP

Sergey Protko in symfony
источник

SP

Sergey Protko in symfony
но опять же я сейчас бы так не делал - если нужны только айдишки то лучше ограничиться ими.
источник

SP

Sergey Protko in symfony
но у меня в целом своеобразный взгляд на то как доктрину юзать
источник

SP

Sergey Protko in symfony
я вот скорее бы в этом случае доктрину юзал как тупой мэппер с one-to-one на схему базы а уже логическое разделение схемы делал бы как-то сверху. Просто потому что меньше приколов будет и можно все еще разделять логику. Да это мэппер над мэппером выходит по сути, но в целом... у меня просто нет доверия к тому как доктрина себя ведет в сложных кейсах.

вот сделают в третьей доктрине кастомные мэпперы заживем. Но не доживу чувствую
источник

D

Dmitry in symfony
А кто-то сталкивался с расчетом баланса аккаунта под высокими нагрузками ?
Есть допустим 1к в секунду запросов на изменение баланса некоего аккаунта. А так же получением разрешения на проведения операции?(баланс больше ноля и тп) Кто какие методы использовал ?
Понятное дело что через лок на баланс можно все уладить. Но тогда это все дело будет в один поток. Что сильно ограничивает масштабируемость системы.
Вопрос чисто философский. Может у кого есть какие видео или документы конкретно по этому вопросу ? Буду благодарен.
источник

VM

Volodymyr Melko in symfony
А у тебя запросы все на одного юзера? В один поток будут запросы для проверки баланса одного и того же юзера. Или ты собрался лочить всю таблицу?
источник

✨Basic_Instinct✨ in symfony
думаю тебе поможет философия CQRS и Event Sourcing ))
источник

D

Dmitry in symfony
На одного юзера. Допустим это банк или платёжка. А мерчант-партнёр имеет корреспондентский счёт откуда куда нужно списывать добавлять баланс
источник

D

Dmitry in symfony
Допустим. Cqrs пофиг. Будет 1к запросов на изменение. Как их масштабировать если баланс должен меняться атомарно.

ЕС на запись ок. Но перед записью транзакции нужно проверить можно ли ее туда писать (списать 100 баксов с баланса). А это опять же только в один поток, как я понимаю.
источник

VM

Volodymyr Melko in symfony
Можно пойти в сторону асинхронщины. Запрос на проведение транзакции можно создать всегда и отдать респонса, что запрос принял. А в фоне уже их разгребать и дергать вебхуки мерчантов, что транза прошла или нет
источник

VM

Volodymyr Melko in symfony
+ можно добавить апишечку для Лонг Полинга, если мерчант не умеет в вебхуки
источник

D

Dmitry in symfony
Интересно. А как быть в ситуации синхрона ? Типа банкоматов.
источник

k

knopkod4v in symfony
а там нет 1к в секунду =)
источник