Size: a a a

Software Design/Architecture/Zen

2020 December 18

AK

Aleh Kashnikau in Software Design/Architecture/Zen
Павел Г.
Ну если говорить о технической стороне внешние ключи/связи объектов то да. Я имею ввиду больше про разделение таблиц.
Так в обсуждении не было вопроса о делить или нет, вопрос был делать ли в ормке релейшены или нет. И вот не делать обычно гораздо лучше
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Aleh Kashnikau
Так в обсуждении не было вопроса о делить или нет, вопрос был делать ли в ормке релейшены или нет. И вот не делать обычно гораздо лучше
Адрес заказа - неизменяемая часть заказа, никакой дополнительной таблицы не надо
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Ну не знаю. У меня ща есть таблица заказов, в ней есть вещи которые можно вынести было в one-to-one . Ды даже по названию бизнес объектов они разные.  Как же я горю, когда горизонтально скроллю все это дело.
ну тут наверное вопрос терминологий.

Первый уровень - выносить one-to-one. Второй уровень - убрать табличку orders и просто хранить в нужных order_id.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
ну тут наверное вопрос терминологий.

Первый уровень - выносить one-to-one. Второй уровень - убрать табличку orders и просто хранить в нужных order_id.
Не понял зачем убирать (что под этим подразумевается?), в ней же еще данные.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Не понял зачем убирать (что под этим подразумевается?), в ней же еще данные.
все данные по своим табличкам. В итоге у тебя не останется ничего в orders кроме как order_id
источник

SP

Sergey Protko in Software Design/Architecture/Zen
на выходе оч маленькие и красивые агрегаты
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и низкя связанность
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
все данные по своим табличкам. В итоге у тебя не останется ничего в orders кроме как order_id
Ну это типо all agregates wrong или как там видео :)  Ну мне же нужно зафиксировать заказ. Ну тут наверное надо смотреть от масштаблности проекта и задачи. Посыл понял, спасибо
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Ну это типо all agregates wrong или как там видео :)  Ну мне же нужно зафиксировать заказ. Ну тут наверное надо смотреть от масштаблности проекта и задачи. Посыл понял, спасибо
ну да, на не оч больших проектах загоняться так не надо.
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
Можно как упражнение попробовать Аля объектная гимнастика
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Sergey Protko
ну да, на не оч больших проектах загоняться так не надо.
Причина научится - не причина?)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Константин Грачев
Причина научится - не причина?)
Пробовать можно но не стоит это возводить в категорию "хорошо vs плохо"
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Sergey Protko
Пробовать можно но не стоит это возводить в категорию "хорошо vs плохо"
Я стараюсь в категории - легко читать/изменять
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Константин Грачев
Я стараюсь в категории - легко читать/изменять
легко для каждому свое
слишком субективные критерии
источник

k

knopkod4v in Software Design/Architecture/Zen
Sergey Protko
примитивная реализация под кролика заняла у меня где-то 2К строк кода
какие там фичи есть?
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
knopkod4v
какие там фичи есть?
оно запускается, обычно этого достаточно для локальных поделок) это всетаки не продукт
источник

SP

Sergey Protko in Software Design/Architecture/Zen
knopkod4v
какие там фичи есть?
можно послать сообщение, роутинг на клиенте (то есть сначала мы узнаем кто сообщение будет обрабатывать и для каждого ресипиента отправляем в кролика отдельный энвелоп с ресипиентом, это существенно упрощает все на свете). Буферизация сообщения до окончания работы обработчика. Саги собственно, таймауты для саг, ретраи с бэкофом (пока таймауты захардкожены но есть возможность для отдельных ресипиентов выставлять свои ретрай полиси), dead letter для "совсем не вышло"...
источник

MM

Maksim Masiukevich in Software Design/Architecture/Zen
Sergey Protko
нет и не планируется
А архивом раздавать планируется?) Я бы потыкал ;)
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Sergey Protko
можно послать сообщение, роутинг на клиенте (то есть сначала мы узнаем кто сообщение будет обрабатывать и для каждого ресипиента отправляем в кролика отдельный энвелоп с ресипиентом, это существенно упрощает все на свете). Буферизация сообщения до окончания работы обработчика. Саги собственно, таймауты для саг, ретраи с бэкофом (пока таймауты захардкожены но есть возможность для отдельных ресипиентов выставлять свои ретрай полиси), dead letter для "совсем не вышло"...
О мне тоже все самому пришлось писать
У себя еще перепроигрывание сообщений добавил

Мапинг сделал чтобы из вне принимать и внутри уже перводить во внутрение собщения с известными структурками и обработчиками (ну тоесть из одного внешнего создается сообщений по количеству внутрених обработчиков)

Добавил возможность отправлять через корутины асинхронно
ибо когда надо запулить пару миллионов синхронно очень долго да и массивами кидатся такое себе (люди не знают что оно там асинхронно внутри котрые используют)
источник