2

Я создал несколько микросервисов, которые потребляют несколько внешних сервисов. Немногие из этих внешних сервисов потребляются более чем 1 микросервисом, который я создал. Я построил разъемы для этих микросервисов в качестве проекта библиотеки и включил его в качестве зависимости во всех моих проектах микросервиса. Однако я читал, что вся логика для микросервисов должна быть самодостаточной, а дублирование логики в порядке. Если это так, рекомендуется ли мне определять эти разъемы в каждом микросервисе вместо того, чтобы иметь общую библиотеку?Добавление зависимостей к микросервисам

+1

«Вся логика для микросервисов должна быть самодостаточной и дублирование логики в порядке» [0] | – dnault

+0

@dnault - как насчет https://www.infoq.com/news/2015/01/microservices-sharing-code , Я согласен с вашими настроениями, однако было довольно легко найти сторонников вышеупомянутого заявления ... –

ответ

1

... вся логика для microservices должен быть самодостаточным и дублирование логики нормально

Я думаю, что это суть проблемы вы боретесь с. Действительно ли это утверждение истинно?

Быстрый поиск Google позже: http://www.simplicityitself.io/our%20team/2015/01/12/sharing-code-between-microservices.html

Эта статья говорит о точной вопрос, который мы можем теперь обрамляют в Каков соответствующий уровень повторного использования в microservice архитектуры?

Автор дает список причин, почему разработчики чувствуют необходимость совместного использования кода, упорядоченный от самого низкого до самого высокого с точки зрения сцепления и потери изоляции:

  • использовать существующие технические возможности
  • Совместное использование схем данных с использованием класса, например, в качестве обеспечения совместной схемы.
  • Совместное использование источников данных, использование одной и той же базы данных несколькими службами.

Хотя этот перечень охватывает большинство причин, я хотел бы добавить еще одну важную причину совместного использования кода, который должен сделать с общей основой для быстрого Вставая из microservices, обычно называют Microservice Chassis узором.

Автор выходит на говорят:

Это крайне важно, чтобы придавить мотивацию для желающих кода акций, так как, к сожалению, нет правильного ответа на этот вопрос . Как и все остальное, это контекстуально.

Итак, все, что было сказано, следует ли централизовать ваши разъемы или нет?

Ну, где эти зависимости вписываются в наш список? И какую степень сцепления вы можете выдержать до того, как перестаете заниматься микросервисами, а вместо этого создайте монолит?

Ответы на непростые вопросы, но, надеюсь, это поможет вам в правильном завершении.

+0

Большое спасибо, Том. Да, мне нужно подумать над этим.На данный момент я считаю, что совместная схема передачи данных с использованием библиотеки, по-видимому, является наилучшим подходом. Но я думаю, мне нужно подумать об этом, когда я ударил по любым вопросам. –