Size: a a a

2020 April 09

ŹR

Źmićer Rubinštejn in pro.elixir
Ilya Borovitinov
Вытащили часть изменений в сервисы-сателлиты, за это время приводим в порядок кодовую базу монолита
Но у вас в плане "основная база"
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Может быть "у нас пока что основная база"
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А она у вас в ПЛАНЕ
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
А не "шарим базу между макромикросервисами"
А почему бы нет, если у этой базы отдельный жизненный цикл проекта и понятные владельцы - кто куда пишет
источник

IB

Ilya Borovitinov in pro.elixir
Źmićer Rubinštejn
А не "шарим базу между макромикросервисами"
Кстати, пока речь зашла — у меня нет опыта построения сложной (и правильной) микросервисной архитектуры. Как в ней решается связность данных и их отслеживание "сквозь" микросервисы?
источник

AB

Alex Bubnov in pro.elixir
У нас в соа есть однозначно общая база конфигурации, в которую смотрит уйма сервисов, потому что это база конфигурации фактически.
Уже лет 10 это решение живёт в таком виде и всем ок
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
А почему бы нет, если у этой базы отдельный жизненный цикл проекта и понятные владельцы - кто куда пишет
Ну все эти деления базы плохо заканчиваются обычно. В какой-то момент ты перестаёшь понимать где и кто должен проводить валидации того что ты кладёшь в базу, и где-то что-то сыпется. Сильно теряется мобильность. Ты не можешь накатить новые версии на два сервиса, а потом откатить один сервис, потому что двум сервисам нужны разные версии одной базы
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ilya Borovitinov
Кстати, пока речь зашла — у меня нет опыта построения сложной (и правильной) микросервисной архитектуры. Как в ней решается связность данных и их отслеживание "сквозь" микросервисы?
Потэому вероятно вам нужен монолит)
источник

LL

Lama Lover in pro.elixir
Кароче это всегда плохо. Лучше заиметь сервис, который будет на этой базе сидеть и всем всё раздавать. Такой некий data access layer
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но вообще, если делать по уму, то выглядит это приблизительно так
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Т.е. messaging и rpc
источник

ŹR

Źmićer Rubinštejn in pro.elixir
При аггрегации
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Но вообще, если делать по уму, то выглядит это приблизительно так
Вроде отдельные компоненты я понимаю, а общую картину нихуя не могу
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А при записи - кроссервисные саги обычно используют
источник

IB

Ilya Borovitinov in pro.elixir
Źmićer Rubinštejn
При аггрегации
Тупой вопрос может быть, а это не медленно?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Кафка хуяфка, event sourcing
источник

IB

Ilya Borovitinov in pro.elixir
То, что решается обычно join-ом через несколько таблиц, если за каждую из этих таблиц несет ответсенность свой сервис
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ilya Borovitinov
Тупой вопрос может быть, а это не медленно?
Ну ты ж зачемто выбрал микросервисы а не монолит
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Очевидно ты хочешь на этом что-то получить
источник

IB

Ilya Borovitinov in pro.elixir
Понял, это tradeoff
источник