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

Running Lagom Service Locator / Kafka / Cassandra separately

为了完全控制我的架构组件,我想单独部署所有基础架构组件(服务定位器、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 和定位器中连接到 运行ning。

Lagom 不允许您在没有 运行ning 服务的情况下 运行 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