分别运行 Lagom 服务定位器 / Kafka / Cassandra



为了完全控制我的架构组件,我想单独部署所有基础设施组件(Service Locator、Cassandra、Kafka(和服务。

我能够使用如下命令运行服务:mvn lagom:startServiceLocator lagom:startCassandra -pl hello-impl lagom:run

但是,当我单独启动这些组件时(即通过mvn lagom:startServiceLocator(,启动的组件会自动终止。在这种情况下,我看到以下日志,但定位器在http://localhost:9008不可用。

我使用的是没有代理并使用默认配置的本地开发环境。

如何单独运行它们?

Java/Maven: 如果你想运行多个 Lagom 微服务,你只需要做你正在做的事情:

mvn lagom:startServiceLocator lagom:startCassandra -pl hello-impl lagom:run

它将启动定位器,cassandra,如果需要,您可以添加kafka,之后,您只需在新的cmd中运行以下命令:

mvn -pl second-lagom-microservice-impl lagom:run

现在它将连接到运行在第一个命令 cassandra 和定位器中。

Lagom 不允许你在不运行服务的情况下运行 cassandra 或定位器。

Scala/SBT

对于相同的 sbt 方法,我们需要使用所有需要的服务运行第一个微服务:

sbt lagomServiceLocatorStart lagomCassandraStart lagomKafkaStart microservice-impl/run

然后只需运行另一个类似:**sbt another-microservice-impl/run**

此外,还可以在build.sbt中添加别名,以便微服务单独运行它:

addCommandAlias(s"runMicrocervice1", ";lagomServiceLocatorStart;lagomCassandraStart;lagomKafkaStart;microservice1-impl/run")

只需按以下方式运行它:

sbt runMicrocervice1

最新更新