Size: a a a

2020 November 13

JF

Java Fuck You in ТП
Немножко большая функция ахах
источник

I

Inviser666 in ТП
/start
источник

ИS

Илья Иванов Smith... in ТП
Вопрос к любителям и профессионалам микросервисов:

1 микросервис - 1 бд
Есть микросервис, отвечающий за регистрацию, аутентификацию. У него есть бд с айдишниками, никнеймами и паролями.

Допустим есть еще другой микросервис, который должен отправлять нотификации пользователям. У этого микросервиса в его личной бд есть список email'ов, телефонов и т.п., на которые надо отправить оповещения.

Но в этой же таблице также должны быть и айдишники пользователей... т.к надо связывать строку с почтой/телефоном и т.п. с пользователем.

Но разве тут не будет нарушения: одна бд - один микросервис?

Как решается такое? Как добиться изолированности (гранулярности) данных?
источник

JF

Java Fuck You in ТП
Ээ, а нафиг тебе отдельную базу данных на каждый микросервис?
источник

ИS

Илья Иванов Smith... in ТП
Так это типа закон, на сколько я понял.

Как вариант решения, видел, что все взаимодействие с бд выносят в отдельный микросервис. Но тогда по сути не вижу отличия этого микросервиса от монолита.
источник

К

Константинтий... in ТП
Обычно одна база на всё
источник

К

Константинтий... in ТП
У каждого сервиса могут быть свои небольшие локальные базы, например для кэшей
источник

К

Константинтий... in ТП
И это ни в коем разе не превращает систему в монолит
источник

JF

Java Fuck You in ТП
Константинтий
Обычно одна база на всё
+
источник

JF

Java Fuck You in ТП
Никогда не слышал о таком
источник

ИS

Илья Иванов Smith... in ТП
Ну как же так???
В том то и прикол микросервисной архитектуры, что её легко расширять горизонтально.
И суть отдельной собственной бд в том, что миграции и изменение данных в одном микросервисе (его бд) никак не влияли на данные в другом.
источник

JF

Java Fuck You in ТП
БД это не сервис
источник

ИS

Илья Иванов Smith... in ТП
Изолированность данных это ж по сути и есть одна из фишек микросервиса
источник

К

Константинтий... in ТП
Выносить всю работу с БД в отдельный сервис нерационально. Это сильно замедлит работу и усложнит взаимодействие между компонентами
источник

JF

Java Fuck You in ТП
Ты не понимаешь
источник

JF

Java Fuck You in ТП
БД это бд
источник

JF

Java Fuck You in ТП
Сервис это сервис
источник

ИS

Илья Иванов Smith... in ТП
источник

К

Константинтий... in ТП
Суть микросервисах не в разделении данных, а в разделении обработчиков этих данных
источник

ИS

Илья Иванов Smith... in ТП
Константинтий
Суть микросервисах не в разделении данных, а в разделении обработчиков этих данных
Обе эти фишки - суть микросервисной архитектуры.

Но разделение процессов обработки и в монолите происходит: один запрос - один процесс. (Правда хз, что там с asyncio)
источник