Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Микросервисы: на каждый сервис своя БД  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38439
Imperous
Но как же на самом деле решается вопрос целостности информации в распределенных БД, которые закреплены за своим микросервисом?

вот почему ты как ТС, тему "целостности информации в распределенных БД" заболтал темой про свои микросервисы?
Потому что не работал сразу с двумя БД? Тогда причём тут микросервисы?
Иди учись работать с двумя сервисами независимыми.
26 апр 19, 17:03    [21872874]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1153
Petro123, знаешь, а ведь в этой теме ты ни разу не ответил по существу топика.
26 апр 19, 17:51    [21872920]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38439
Imperous
Petro123, знаешь, а ведь в этой теме ты ни разу не ответил по существу топика.

тебе даже красный цвет не помог.
Факты на лицо - ты в архитектуре даже не джуниор.
Зачем тебе вопросы по ней?
Цель какая?
26 апр 19, 17:58    [21872922]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
mayton
Member

Откуда: loopback
Сообщений: 40406
Imperous
1) мы можем одним запросом из базы выбрать всю информацию по клиенту. (легкость сохранности, целостности и получения всей инфы)
2) если мы грохаем клиента, то каскадно удаляется вся информация. (нет "мусора")

Я так понимаю, что должен быть механизм, который:
1) находит несвязанные данные
2) убирает мусор

Но как же на самом деле решается вопрос целостности информации в распределенных БД, которые закреплены за своим микросервисом?

В общем случае не существует никакой связи между сервисом и БД.
Более того. Информация о внутреннем устройстве сервиса может быть неизвестной
или засекреченной (какой-то банковский сервис).

Для тебя как для разработчика данного микросервиса существуют такие шаблоны как
- CQRS (это больше относится к дизайну приложения в целом но этот шаблон
отказыватся от согласованности в пользу производительности. Грубо говоря команда
и запрос вообще работают с РАЗНЫМИ БД. Это постулировано в презентациях по СиКюРэС.
Например для команд могу юзать EventStore системы а для отчотов какие-то RDBMS)
- OLTP/DWH БД. Обращения опер-дня идут в одну базу. А аналитика или исторические
данные - из другой. Между ними есть некая задержка во времени. И само приложение
(в данном случае микросервис) должно понимать куда смотреть. Как вариант просто
брать текущую дату и роутить запросы в разные направления)
- Мастер и реплика. Основная и резервная.

Твой вопрос касаемо нарушения согласованности между БД. Почитай про теорему Эрика Брювера.
В частности например AP (Availability+Partition tolerance). Это нарушение присутствует в интернете
везде. В частности серверы DNS никода не достигают 100% consistency но им это не надо. Протокол
использования DNS позволяет нам читать и видеть устаревшие записи и не испытывать особых проблем.

По твоему алгоритму уборки мусора мне нечего сказать. Я не понимаю как ты посчитал какие-то данные
мусором. Это мне кажется задача совершенно другая и не имеющая отношения к основной работе
микросервиса. Может удаление исторических данных. Может удаление childs without parents.
26 апр 19, 19:08    [21872968]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
mayton
Member

Откуда: loopback
Сообщений: 40406
В общем случае не существует никакой связи между сервисом и БД.

Неверно выразился. Нет взаимного соответствия между сервисом и БД.
Может быть сервис вообще без БД. И может быть сервис с множеством БД.
И могут 2 сервиса ходить в одну БД.
26 апр 19, 19:30    [21872981]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3204
Kachalov
- нет, нет единого транзакционного контекста. Это последовательность отдельных транзакций, в которых T1 порождает T2, но если T1 откатится, то T2 про это ничего не знает.
Чет похоже на то как индусы пишут - у них отправка сообщений по http из открытой транзакции вообще никаких вопросов не вызывает.
27 апр 19, 02:02    [21873183]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
ViPRos
Member

Откуда:
Сообщений: 9510
Андрей Панфилов,

все эти микросервисы "индусы" и продвигают
это надо ж "микро" сервис
27 апр 19, 10:36    [21873261]     Ответить | Цитировать Сообщить модератору
 Re: Микросервисы: на каждый сервис своя БД  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 986
mayton
Опять-же я становлюсь занудой рекламируя доклад Алименкова по JMS но он всё-таки прошёлся и по этому
кейсу поэтому ищите в youtube.

Общался с Алименковый в живую на JEEConf. Это было круто!
27 апр 19, 21:53    [21873514]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Java Ответить