在撰写我的下一份O'Reilly报告时,我一直很沮丧,而且一段时间内没有足够的时间来撰写博客。 是时候赶快来这里,让您真正快速地开始使用名为Lagom的新微服务框架。 它与您从Java EE或其他应用程序框架中可能了解到的有所不同。 这对您来说是学习新事物的挑战和机遇。 如果您可以再等几天,请注册以 在我的新报告将可用时 得到通知 ,并了解有关Lagom背后的故事以及如何入门的所有信息。 我将向您介绍一个示例应用程序,并向您介绍主要概念,比我在博客文章中所介绍的更为详细。 这篇文章是为那些想立即开始并自己弄清楚一切的无耐心的人而设计的。
一些背景
如今,微服务无处不在,关于使用现有的中间件堆栈构建复杂的分布式系统所需的处理方法越来越多。 还有更好的替代方案和概念来将应用程序实现为基于微服务的体系结构。 JonasBonér在他的报告Reactive Microservices Architecture中介绍了反应式微服务的核心概念,注册后可免费获得。 Lagom是所描述概念的实现。 它使用了您可能听说过但可能很少作为Java EE开发人员使用的技术:主要是Akka和Play 。 但是现在,让我们就忘记它们了,因为Lagom在顶部为您提供了一个很好的抽象,并为您提供了入门所需的一切。
先决条件
安装了激活器和Java 8 。 激活器是您可能还没有听说过的东西。 它建立在sbt之上,可帮助您开始进行项目以及更多工作 。 Lagom系统通常由一组sbt构建组成,每个构建都提供多种服务。 开始使用新的Lagom系统的最简单方法是使用lagom Activator模板创建一个新项目。 现在不需要任何其他东西。 您可能想要安装IDE。 IntelliJ或Eclipse现在应该是不错的选择。
设置您的第一个项目
是时候看一些代码了。 让我们从lagom-java模板生成一个简单的示例:
$ activator new first-lagom lagom-java
转到新生成的文件夹“ fist-lagom”,然后发出sbt命令来创建一个eclipse项目。
$ activator eclipse
将下载大量依赖项,成功执行后,您可以打开Eclipse并使用导入向导将现有项目导入到您的工作区中。 请注意,如果将Immutables库与Eclipse一起使用,则也需要进行设置 。
Lagom包含一个开发环境,通过该环境,您只需在激活器控制台中键入runAll即可启动所有服务。 打开终端并CD到您的Lagom项目:
$ activator runAll
输出看起来像这样:
[info] Loading project definition from /Users/myfear/projects/first-lagom/project
[info] Set current project to first-lagom (in build file:/Users/myfear/projects/first-lagom/)
[info] Starting embedded Cassandra server
........
[info] Cassandra server running at 127.0.0.1:4000
[info] Service locator is running at http://localhost:8000
[info] Service gateway is running at http://localhost:9000
[info] Compiling 2 Java sources to /Users/myfear/projects/first-lagom/helloworld-api/target/scala-2.11/classes...
[info] Compiling 1 Java source to /Users/myfear/projects/first-lagom/hellostream-api/target/scala-2.11/classes...
[info] Compiling 2 Java sources to /Users/myfear/projects/first-lagom/hellostream-impl/target/scala-2.11/classes...
[info] Compiling 6 Java sources to /Users/myfear/projects/first-lagom/helloworld-impl/target/scala-2.11/classes...
[info] application - Signalled start to ConductR
[info] application - Signalled start to ConductR
[info] Service hellostream-impl listening for HTTP on 0:0:0:0:0:0:0:0:26230
[info] Service helloworld-impl listening for HTTP on 0:0:0:0:0:0:0:0:24266
[info] (Services started, use Ctrl+D to stop and go back to the console...)
现在,通过访问http:// localhost:9000 / api / hello / World尝试第一项服务。 现在,您都准备好了下一篇博客文章,在这里我将向您详细介绍该示例。 如果您迫不及待,请继续阅读Lagom入门指南。
翻译自: https://www.javacodegeeks.com/2016/04/first-lagom-service-getting-started-java-microservices.html