Передача данных между микросервисами - PullRequest
0 голосов
/ 12 октября 2018

Я занимаюсь извлечением микросервиса из монолита, написанного на Java, с помощью Spring Boot.Мы планируем разделить весь монолит на несколько небольших микросервисов.

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

Это приемлемо?Если так, то контроллеры REST, основанные на монолите, которые извлекают объекты из микросервиса, должны быть размещены на том же уровне, что и хранилища?Это решение увеличит сцепление, которого следует избегать, есть ли другие подходы?

Буду благодарен за любые ответы, а также за статьи, которые, по вашему мнению, могут здесь помочь.Заранее спасибо.

1 Ответ

0 голосов
/ 12 октября 2018

Это полностью зависит от вашего варианта использования.Не существует общего решения, и вполне нормально поддерживать хранилище, в котором размещаются общие ресурсы.

Если вы принимаете Microservice очень строго, он будет поддерживать сущности самостоятельно.При передаче данных вы будете использовать промежуточный формат, такой как JSON или XML, который не заботится о структуре данных.Микросервис живет в своем собственном мире и обращается только к своему сценарию использования.Если другой сервис претерпевает изменения, а субъекты меняют другой сервис, это изменение не должно затрагивать.Каждый Сервис должен иметь только те данные, в которых он нуждается, все остальное не его забота.

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

...