我正在遵循一种微服务架构,该架构遵循类似的模式:
some-service:这是实际的静态服务,它包含端点,服务层和数据持久层
some-service-api:这是一个库,其中包含相关的域对象,常量等,需要与某些服务交互的其他微服务可以利用此库
some-service-client:这是另一个库,仅包含对some-service端点的HTTP / Feign调用,任何需要对some-service进行内部调用的微服务都可以利用< / p>
因此,从本质上讲,每个服务将取决于其各自的api,然后其他服务(如有必要)可能取决于该服务api和客户端。
我还依赖于Maven Central中未包含的其他一些第三方JAR文件。
就目前而言,我所有的东西都在本地运行,但是由于微服务的数量正在增长,并且我正在对其中许多服务进行开发,因此我想将它们实际部署到Heroku,所以我不打算这样做。在处理依赖于每个服务的其他服务时,必须不断在本地启动每个服务。
但是,当我尝试部署到Heroku时,由于对client / api / 3rd party项目的依赖而导致构建失败。
我已阅读到可以通过在微服务项目结构中创建本地maven存储库目录,然后使用mvn命令将依赖项部署到该位置来实现此目的,概述如下:(https://devcenter.heroku.com/articles/local-maven-dependencies)
但是这似乎很麻烦,因为那样看来,我每次都需要更改任何内容时都需要重新执行此操作,并为每个微服务执行并执行此操作。它似乎并没有很好的可扩展性。
我也一直在寻找像Nexus这样的回购经理,但是我不确定Heroku是否可行。
有人有没有将Nexus Repo Manager与Heroku设置集成的经验?还是有人有更好的方法来使用Heroku构建来管理独立维护的依赖项?