Size: a a a

Software Design/Architecture/Zen

2021 November 11

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Хм, в памяти осталось что как-то был проёб из-за фк, сейчас подумал и понял что проёб был из-за отсутствия уникального индекса, а не фк
источник

ГС

Господин Случай... in Software Design/Architecture/Zen
ну с fk поиск быстрее. поэтому проставлять нужно везде
источник

ГС

Господин Случай... in Software Design/Architecture/Zen
nlogn вместо (n^2)*logn, не вдавался
источник

AD

Andrey Dembitskyi in Software Design/Architecture/Zen
Угу, т. к. создаётся индекс.
Который можно создать (или не создать, если не нужно) и без fk
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Fk не создают же индекс сами, вроде...
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Не знаю как в мускуле но в pg и в sql server индексы сам делай и ФК вообще на перформанс джойнов не влияют
источник

SP

Sergey Protko in Software Design/Architecture/Zen
> PostgreSQL automatically creates indexes on primary keys and unique constraints, but not on the referencing side of foreign key relationships
источник

AD

Andrey Dembitskyi in Software Design/Architecture/Zen
TIL...
С mysql видимо и запомнил, там создаётся
источник
2021 November 12

ПГ

Павел Г. in Software Design/Architecture/Zen
Приветствую :) А если например такой кейс: номер телефона. Он будет в контексте оповещений и в контексте авторизации. Т.е. никак не получится передать "команду"  из контекста  оповещений в контекст авторизации.  Дублировать данные и разбираться с гарантией доставки, обновлением данных ? Или есть еще какой-то подход?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Как вариант можно сделать их независимыми. Просто на уровне ui или гейтвея в 2 места паралелить.

Второй вариант сделать событие проверки телефона глобальным и пусть кто надо слушает. Данные достаточно редко меняются.

Если у вас распределенное приложение то с гарантией доставки придётся разбираться ни куда не деться.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Т.е. если у нас экшен изменить телефон, то в контроллере вызываются два юзкейса разных контекстов?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
На ui композиции или в гейтвее
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Не совсем понимаю ни одно, ни другое... Что подразумевается под ui композицией? Я  понимаю ui композицию, что каждый контекст отражает свою часть ui. Но в данном вопросе не пойму. Фронт шлет запросы на два api?  
Гейтвей: контроллер->gateway->вызыв двух контекстов ?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Да все так. Ui может и данные и общение в композицию уводить не только видимые части.

Это просто как опции. Я бы не парился из-за копирования телефона. Он требует меняется и это не миллионы изменений разных данных в день или вообще
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Спасибо!
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
я бы так не делал, всегда есть вероятность того, что один из запросов приляжет. имхо, лучше иметь single source of thruth и обновлять там, а остальные саб-домены нотифицировать. ну и тут ещё вопрос поднимается относительно того, а действительно ли телефон должен быть (физически) в нотификациях
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Ну например в контексте нотификации есть некий чекинг номера, для оределения более дешевого шлюза. Но в целом это пример. Сюда же можно завернуть например "роли", для кейсов: рыссылка всем админам,менеджерам
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Тут как бы еще и обратная сторона, если один из сервисов приляжет, то как потом синхронизировать упущенное. Например он принял сообщение об ивенте, но упал с 500 при изменении.
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
через очереди
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
эти болячки уже давно решены
источник