Lagom中划分微服务
Dividing microservices in Lagom
Lagom 默认为每个微服务创建两个模块 - API 和实现。
是否可以将一个微服务分成3+个模块?
当然可以。您可以像处理任何其他 Java 或 Scala 项目一样执行此操作:创建一个子项目,它是包含在您的服务中的内部库。
有关此方面的示例,请查看 Online Auction Java 示例 Lagom 项目。具体来说,security
和 tools
子项目。这些使用 sbt
dependsOn
方法包含在 build.sbt
.
中的其他服务中
例如:
lazy val itemApi = (project in file("item-api"))
.settings(commonSettings: _*)
.settings(
version := "1.0-SNAPSHOT",
libraryDependencies ++= Seq(
lagomJavadslApi,
lombok
)
)
.dependsOn(security, tools)
在这种情况下,API 项目依赖于额外的库,但您可以对您的实施项目做同样的事情,以使用 API 不需要的库.请注意,实现项目还依赖于其对应的 API,因此 API 的任何依赖项都由实现继承。
Lagom 默认为每个微服务创建两个模块 - API 和实现。
是否可以将一个微服务分成3+个模块?
当然可以。您可以像处理任何其他 Java 或 Scala 项目一样执行此操作:创建一个子项目,它是包含在您的服务中的内部库。
有关此方面的示例,请查看 Online Auction Java 示例 Lagom 项目。具体来说,security
和 tools
子项目。这些使用 sbt
dependsOn
方法包含在 build.sbt
.
例如:
lazy val itemApi = (project in file("item-api"))
.settings(commonSettings: _*)
.settings(
version := "1.0-SNAPSHOT",
libraryDependencies ++= Seq(
lagomJavadslApi,
lombok
)
)
.dependsOn(security, tools)
在这种情况下,API 项目依赖于额外的库,但您可以对您的实施项目做同样的事情,以使用 API 不需要的库.请注意,实现项目还依赖于其对应的 API,因此 API 的任何依赖项都由实现继承。