Развертывание микро-сервисов с независимыми зависимостями в Heroku - PullRequest
0 голосов
/ 02 июля 2019

Я следую архитектуре микросервиса, которая следует шаблону, подобному следующему:

  1. some-service: Это фактическая служба отдыха, она содержит конечные точки, уровень обслуживания,и уровень персистентности данных

  2. some-service-api: Это библиотека, которая содержит соответствующие доменные объекты, константы и т. д., которые могут использоваться другими микросервисами, которые должны взаимодействовать сsome-service

  3. some-service-client: это еще одна библиотека, которая просто содержит вызовы HTTP / Feign к конечным точкам некоторых служб, которые могут использоваться любым микро-сервисом, который нуждаетсяделать внутренние вызовы некоторому сервису

Таким образом, по сути, каждый сервис будет зависеть от своего соответствующего API, и тогда другие сервисы могут зависеть от API этих сервисов и клиента при необходимости.

У меня также есть зависимости для нескольких других сторонних JAR-файлов, которые не включены в Maven Central.

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

Однако, когда я пытаюсь выполнить развертывание в Heroku, сборка завершается неудачно из-за зависимостей от проектов клиента / API / сторонних производителей.

Я прочитал, что могу сделать это, создав локальный каталог репозитория maven в структуре проекта микросервиса, а затем развернув зависимости в этом месте с помощью команды mvn, описанной здесь: (https://devcenter.heroku.com/articles/local-maven-dependencies)

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

Я также искал менеджера репо, такого как Nexus, но я не уверен, что это приемлемый вариант с Heroku.

Есть ли у кого-нибудь опыт интеграции Nexus Repo Managerс настройкой Heroku? Или у кого-нибудь есть лучший способ управлять независимо поддерживаемыми зависимостями с помощью сборок Heroku?

...