您的第一个Lagom服务– Java Microservices入门

在撰写我的下一份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现在应该是不错的选择。

设置您的第一个项目

日蚀(1)
是时候看一些代码了。 让我们从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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 记录路线轨迹_基于百度地图SDK记录运动轨迹

标签 : 运动轨迹 百度地图SDK最终实现的效果如下图所示###注意1:模拟器上模拟要设置好Location(如果选择None就无法定位了),同时第一次打开应用会提示授权使用地理位置信息,点击允许即可。设置效果图1注意2:由上图的经纬度反查可知这是美国的一个州&…

用户体验

我正在使用的是搜狗输入法。 一.用户界面:搜狗输入法页面较为美观不会是用户感到反感,适合大多数人群使用。 二.比如我长期输入自己的名字张子祥,到时候只需输入zzx就可以直接输出很方便。 三.操作简便&…

转先验概率、最大似然估计、贝叶斯估计、最大后验概率

最大似然估计: 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均…

animate.css动画样式详解

一、使用步骤 <!-- <link rel"stylesheet" href"https://www.jq22.com/jquery/animate-3.1.0.min.css"> --> <link rel"stylesheet" href"animate.css"> <div class"animated bounceInLeft">从左边…

osgi 模块化_OSGi案例研究:模块化vert.x

osgi 模块化OSGi使Java代码可以清晰地划分为多个模块&#xff0c;这些模块称为捆绑软件 &#xff0c;可以访问由每个捆绑软件的类加载器控制的代码和资源。 OSGi 服务提供了一种附加的分离机制&#xff1a;接口的用户无需依赖于实现类&#xff0c;工厂等。 以下案例研究旨在使O…

两个常数的卷积为多少_卷积(Convolution)与好核函数(Good Kernel)

把最近在分析里学到的有趣的东西整理写一写&#xff0c;初学者不专业。我们先来简单介绍Rudin的数学分析里Stone-Weierstrass定理的证明[1]。Stone-Weierstrass定理&#xff1a;对于任意定义在 上的连续&#xff08;continuous&#xff09;函数 &#xff0c;总存在一个多项式函…

Font Awesome(一套绝佳的图标字体库和CSS框架)(icon图标)

官网&#xff1a;https://fontawesome.dashgame.com/ 一、步骤 1、到官网下载 2、将以下代码粘贴到网页HTML代码的 部分 <link href"css/font-awesome.min.css" rel"stylesheet">3、 <i class"fa fa-camera-retro"></i> f…

第三场阴影场与属性访问器接口

这是“ 影子字段与属性访问器”界面的 第3轮 。 如果您是新手&#xff0c;但不确定要怎么做&#xff0c;请查看我以前的文章或关于开发JavaFX应用程序时节省内存的第一篇文章 。 作为Java开发人员&#xff0c;我主要关心的是在开发JavaFX域模型时在性能 &#xff0c; 内存使用和…

移动端布局三种视口_前端基础:必须要知道的移动端适配(4)——视口

视口(viewport)代表当前可见的计算机图形区域。在Web浏览器术语中&#xff0c;通常与浏览器窗口相同&#xff0c;但不包括浏览器的UI&#xff0c; 菜单栏等——即指你正在浏览的文档的那一部分。一般我们所说的视口共包括三种&#xff1a;布局视口、视觉视口和理想视口&#xf…

js判断移动端,pc端,安卓,苹果浏览器的方法

js 判断安卓或者ios 之indexOf方式&#xff08;一&#xff09; //判断访问终端 var browser{versions:function(){var u navigator.userAgent, app navigator.appVersion;return {trident: u.indexOf(Trident) > -1, //IE内核presto: u.indexOf(Presto) > -1, //opera…

Vue路由开启keep-alive缓存页面

mode:hash模式下&#xff1a; HTML部分&#xff1a; <template><div id"app"><keep-alive> <!--使用keep-alive会将页面缓存--><router-view v-if"$route.meta.keepAlive"></router-view></keep-alive> &l…

平安性格测试题及答案_面试要求做性格测试,该怎么做?

为了筛选到更符合岗位&#xff0c;许多企业在招聘时都选择了“性格测试”。比如&#xff0c;像“华为、宝洁、阿里”等这样的大厂&#xff0c;据说每年都有不少人因为性格测试而凉凉&#xff0c;性格测试真有决定你“生死”的作用吗&#xff1f;那么&#xff0c;在做测试题的时…

CSS行内元素和块级元素的水平居中,垂直居中,水平垂直居中实现

常用内联元素&#xff1a;a,img,input,lable,select,span,textarea,font 常用的块级元素&#xff1a;div,p,table,form,h1,h2,h3,h4,h5,h6,dl,ol,ul,li 一、水平居中 行内元素居中&#xff1a; text-align:center 图片&#xff0c;单个块级元素居中&#xff1a;margin-left和…

mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...

基于Scrapy的爬虫爬取腾讯招聘网站岗位数据视频(见本头条号视频)根据TIOBE语言排行榜更新的最新程序语言使用排行榜显示&#xff0c;python位居第三&#xff0c;同比增加2.39%&#xff0c;为什么会越来越火&#xff0c;越来越受欢迎呢&#xff0c;背后折射出的是人工智能、机器…

vim 文本一些行注释,替换

按键操作&#xff1a;注释&#xff1a;ctrlv 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"#",再按Esc,就会全部注释了。删除&#xff1a;先按v,进入visual模式,横向选中列的个数(如"#"注释符号,需要…

如何在几分钟内安装Red Hat Container Development Kit(CDK)

作为负责开发容器化应用程序提供的可能性的应用程序开发人员或架构师&#xff0c;将所有工具集中在一起以使您入门时几乎没有帮助。 到现在。 红帽容器开发套件&#xff08;CDK&#xff09; 安装变得简单&#xff01; 红帽提供了一个容器开发套件&#xff08;CDK&#xff0…

vue的使用(引用/创建vue项目)(一)

在程序开发中&#xff0c;有三种方式创建vue项目&#xff0c;本地引入vuejs、使用cdn引入vuejs、使用vue-cli创建vue项目。其中vue-cli可以结合webpack打包工具使用&#xff0c;大大方便了开发步骤&#xff0c;使用广泛。 一、vue本地引用 在官网下载vue.js&#xff0c;通过s…

你不知道的JS5-原型

1、原型 [[prototype]] js中的对象有一个特殊的[[prototype]]内置属性&#xff0c;其实就是对于其他对象的引用&#xff0c;几乎所有的对象在创建时[[prototype]]属性都会被赋予一个非空的值 使用for..in和in操作符都会查找对象的整条原型链 所有普通的[[prototype]]链最终都会…

enum 定义3个属性_和平精英:合金龙骨有3个隐藏属性,比玛莎“水下无敌”还唬人...

欢迎诸位小伙伴们来到天哥开讲的《和平精英》“精英那点事儿”~接下来呢&#xff0c;咱们聊聊合金龙骨的3个隐藏属性、土豪玩家“自投罗网”以及游戏里的“公主病患者”等有趣的玩家游戏经历与发现~得&#xff0c;废话不多说了&#xff0c;还是各位小伙伴们熟悉的“老配方”&am…

vue-cli项目引用文件/组件/库 的注意事项(一)

vue引入的问题 &#xff08;1&#xff09;main.js入口文件引入(项目中所有的页面都会加载main.js&#xff0c;所以用户放全局变量) // Element import ElementUI from ‘element-ui’ import ‘element-ui/lib/theme-chalk/index.css’ Vue.use(ElementUI) &#xff08;2&am…