jhipster_JHipster入门,第2部分

jhipster

所以你回来了! 在本系列的最后一部分中 ,我们采用了单片路线创建了一个JHipster应用程序。 这是红色药丸路线; 生活几乎与您习惯的一样。

但是也许您喜欢挑战。 也许您想超越红色药丸并尝试蓝色药丸。 在这种情况下,Blue Pill是微服务JHipster方法。

在此博客中,我们将使用JHipster的可用选项来创建微服务架构。 这种方法还有很多工作要做,但是最后,我认为它是有回报的。 获得您最喜欢的饮料并预留一些时间。 这将非常密集。

微服务概述

这些东西到底是什么?

“微服务”架构将前端和后端分开,从而使您的应用程序更易于扩展和解决基础架构问题。

这里的想法是使事物尽可能地分离。 您可以创建后端并运行它们,而无需与前端上的任何内容绑定,反之亦然。 每个实例都可以有多个实例,并且可以上下旋转而不会影响最终用户。 可能消除应用程序的停机时间。

它使它能够随着时间的推移而增长和扩展,而只需很少的架构工作。 后端变得越来越消耗东西,而前端则是向世界展示的输出。 前端几乎可以是任何您想要的东西。 传统网站,移动应用程序或其他您能想到的。

微服务路径

蓝丸

因此,您已决定大吃一口并吞下蓝色药丸。 您想挑战自己吗? 让我们开始吧。

网关

网关是由JHipster生成的应用程序(生成时使用应用程序类型微服务网关),用于处理Web流量并为AngularJS应用程序提供服务。 如果要遵循“后端为前端”模式,可以有几种不同的网关,但这不是强制性的。

这几乎将成为所有活动的中心。 它会有一个前端,因此您可以查看呼叫,内存等。您可以添加/删除用户,以及所有有趣的内容。 这些东西都打包好了,您可以自己查看。 我们在这里不会涉及太多。

登记处

JHipster注册表是使用常规JHipster结构的运行时应用程序,所有应用程序都在该结构上进行注册并从中获取其配置。 我们将不仅仅涉及将其拉下并使用它。 在大多数情况下,它只是“配置”的故乡。 只需克隆存储库并继续。 下面的更多信息。

https://jhipster.github.io/microservices-architecture/#registry_overview
克隆: https : //github.com/jhipster/jhipster-registry

微服务

微服务是JHipster生成的应用程序(生成它们时使用应用程序类型的微服务应用程序),用于处理REST请求。 它们是无状态的,可以并行启动它们的多个实例以处理重负载。

我们开工吧

网关

在本练习中,我们将非常关注JHipster的微服务指南 。

1.yo jhipster开始
2.选择“微服务网关”
3.回答所有问题 4 。 咖啡时间!!!

该应用程序几乎是一个带有配置以处理所有Web流流量的整体式应用程序

jhipsterseriespart2-1

登记处

如果尚未复制, 请克隆https://github.com/jhipster/jhipster-registry 。 添加到您的项目空间。 继续并点火。

查找具有@SpringBootApplication批注的Java文件,并将其作为Java应用程序运行。 这适用于下面的每个步骤。

微服务应用

第一件事是创建一个新目录。 随便叫它,然后进入该目录。 现在输入yo jhipster 。 在这里看到那个图案吗?

不过,这次,我们将选择“微服务应用程序”。 回答问题。

这次,只要摇动一下狗的尾巴,就可以使用微服务!

jhipsterseriespart2-2

微服务实战

登记处

如果尚未启动注册表,请继续启动它。 它应该在http:// localhost:8761上运行 。 访问它,并查看它为您提供的基本信息。 然后单击“应用程序”链接。 请注意,它为空。

jhipsterseriespart2-3

网关

现在是时候旋转网关了。 您将在控制台中看到此输出。

----------------------------------------------------------Application 'ExtendedDayGateway' is running! Access URLs:Local: 		http://127.0.0.1:8080External: 	http://192.168.1.4:8080
----------------------------------------------------------
2016-09-13 14:19:29.643  INFO 10856 --- [  restartedMain] c.wwc.extendedday.ExtendedDayGatewayApp  : 
----------------------------------------------------------Config Server: 	Connected to the JHipster Registry config server!
----------------------------------------------------------

注意,它是如何显示URL的,它还显示了它是从JHipster Registry获得的配置。 我们还来看一下该应用程序。 http://本地主机:8080

jhipsterseriespart2-4

另外,再次在注册表应用程序中查看“应用程序”页面。 http:// localhost:8761 /#/ applications 。

请注意,我们的网关现在显示。 它是自注册的。

jhipsterseriespart2-5

微服务应用

现在,我们有三分之二的项目正在运行。 我认为,现在该是肯定会成为这种情况的动力的时候了。 我们将添加微服务应用程序,它将为任何请求提供“后端”。

1.创建一个Java类作为我们的“ api”端点。 在我们的例子中,我们只有一个返回静态数据集的对象。 十分简单。

@RestController
@RequestMapping("/api")
public class DemoResource {...

2.添加一种返回“学生”的方法。

/*** GET  /students : get all the students.** @return the ResponseEntity with status 200 (OK) and the list of students in body*/@JsonView(Student.Info.class)@RequestMapping(value = "/demostudents",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)@Timedpublic List<Student> getAllStudents() {log.debug("REST request to get all Students");List<Student> userStudents = new ArrayList<Student>();Student student = new Student();student.setFirstName("Joe");student.setLastName("Smith");student.setSex(0);student.setGrade(3);userStudents.add(student);return userStudents;}

3.保存并启动微服务。 它看起来应该像这样:

----------------------------------------------------------Application 'extendedDayAPI' is running! Access URLs:Local: 		http://127.0.0.1:8081External: 	http://192.168.1.4:8081
----------------------------------------------------------
2016-09-14 11:36:13.927  INFO 13980 --- [  restartedMain] com.wwc.extendedday.ExtendedDayApiApp    : 
----------------------------------------------------------Config Server: 	Connected to the JHipster Registry config server!
----------------------------------------------------------

4.再次重新访问http:// localhost:8761 /#/ applications或刷新视图。 请注意我们的微服务如何注册自己。

jhipsterseriespart2-6

5.转到浏览器,然后输入http://localhost:8080/yourappapiname/api/demostudents 。 请注意,即使您已登录,也将被禁止。

jhipsterseriespart2-7

6.注销localhost:8080 ,然后在打开Chrome的情况下重新登录。

然后检查登录呼叫并在“授权”中获取令牌。 它应该以“ Bearer…”开头,然后是一堆编码的东西。 全部选择。

您必须在请求中传递此令牌。 有许多不同的方法可以通过您的代码来执行此操作。 在我们的测试场景中,

  • 邮差足以向您显示输出。
  • 开放邮递员
  • 从上方输入您的API调用
  • 在“标题”下,添加“授权”密钥,然后粘贴您获取的令牌。

您应该会看到以下内容:

jhipsterseriespart2-8

呜呜! 你完成了! 您已经使用jHipster创建了微服务。

结论

我们已经逐步使用JHipster的可用选项创建微服务来创建微服务体系结构。 我希望您发现此信息对您有所帮助。

在这一点上,我们可以添加所需的尽可能多的不同微服务。 每个都有自己的端口号和功能。 在分布式环境中,当我们对它们进行更改时,会有很多实例可以旋转/关闭。 希望您能看到将我们架构的不同层分离的好处和灵活性。 每一层都不依赖于另一层来运行。

微服务,网关,注册表以及使用不同前端的主题的确开始超出使用JHipster的基本方法。 有关这些主题的更多信息,请查看免费的Keyhole博客和白皮书 。

使用JHipster时,请返回第3部分,其中包括技巧,窍门和陷阱。 祝您有美好的一天并继续保持“嘻哈”。

翻译自: https://www.javacodegeeks.com/2016/10/getting-started-jhipster-part-2.html

jhipster

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

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

相关文章

HH SaaS电商系统的虚拟资金账户(钱包余额)设计

文章目录方案一&#xff0c;将资金账户抽象出来虚拟资金账户余额流水记录实体方案二&#xff0c;用户表直接保存资金余额余额流水记录实体方案一&#xff0c;将资金账户抽象出来 虚拟资金账户 P.S. 如果机构代码和消费代码有区分类型&#xff0c;那么资金账户表中就不必保存“…

jhipster_jHipster入门,第1部分

jhipster因此&#xff0c;您想保持技术的领先地位&#xff0c;但对所有活动部件感到不知所措。 你真幸运&#xff01; 这就是jHipster发光的地方。 如果您喜欢Ruby on Rails或Grails的方法来快速启动和运行应用程序&#xff0c;那么这可能是适合您的选择。 jHipster旨在使设置…

mysql中show属于_mysql show的常见用法

a. show tables或show tables from database_name; // 显示当前数据库中所有表的名称b. show databases; // 显示mysql中所有数据库的名称c. show columns from table_name from database_name; 或show columns from database_name.table_name; // 显示表中列名称d. show gra…

java基准测试_微基准测试进入Java 9

java基准测试我已经几个月没有在这里写文章了&#xff0c;这种例外还会继续。 我计划在明年三月左右恢复写作。 本文末尾的说明。 等待&#xff01; 不完全是最后&#xff0c;因为您可以向下滚动。 它在文章结尾处。 继续阅读&#xff01; 三年前&#xff0c;我在写有关Java编…

python周天为一周的开始_从两个月减肥四十斤说起,不懈坚持,才是一个人最核心的竞争力。...

大学毕业了十年&#xff0c;我的身材失控了十年。我对我的胖身材已经习以为常了十年了&#xff0c;我从来没想过改变&#xff0c;因为我也没有毅力改变。有一句话说的&#xff0c;人越胖&#xff0c;就越懒。因为我胖&#xff0c;所以我不跑步&#xff0c;我也不爱外出。只要你…

MySQL之命令mysql -- MySQL服务器的客户端工具

文章目录命令介绍选项说明-A--executestatement, -e statement参考示例登录数据库执行指定的脚本文件将指定脚本文件的内容导入&#xff08;或者重载&#xff09;到指定数据库中命令介绍 mysql 命令是 MySQL 数据库服务器的客户端工具&#xff0c;它工作在命令行终端中&#x…

eclipse中ast_JavaParser中AST节点的观察者

eclipse中ast我们离JavaParser 3.0的第一个候选发布版本越来越近。 我们添加的最后一项功能是支持观察抽象语法树的所有节点的更改。 当我为此功能编写代码时&#xff0c;我收到了Danny van Bruggen&#xff08;又名Matozoid&#xff09;和Cruz Maximilien的宝贵反馈。 因此&am…

java模拟登陆_java-模拟登陆练习(示例代码)

package com.day5.test;import java.util.Scanner;public class Test1 {/*** param args* 需求&#xff1a;模拟登陆&#xff0c;给三次机会&#xff0c;并提示还有几次* 用户名和密码都是admin* 分析&#xff1a;* 1&#xff0c;模拟登陆&#xff0c;需要键盘录入&#xff0c;…

电商系统的积分(即金币)的设计方案

积分其实就是金币 有些平台把积分和金币拆开独立设计&#xff0c;把金币设计成虚拟货币&#xff0c;而积分可以抵现或者兑换金币&#xff0c;金币可以提现。但是很多平台又将金币和积分的功能合并一起&#xff0c;既可以抵现&#xff0c;又可以提现&#xff0c;而且金币和现金的…

java实现线程的方式_java多线程实现的四种方式

java多线程实现的四种方式1、继承Thread类&#xff0c;重写run方法(其实Thread类本身也实现了Runnable接口)2、实现Runnable接口&#xff0c;重写run方法3、实现Callable接口&#xff0c;重写call方法(有返回值)4、使用线程池(有返回值)1、继承Thread类&#xff0c;重写run方法…

产品经理是如何管理需求

文章目录一、怎么发现需求二、如何判断需求三、定义用户需求四、定义产品需求五、评估产品需求六、管理产品需求一、怎么发现需求 1、什么是需求 特定的人在特定的情况下产生了特定的问题&#xff0c;并且这种问题是可以被解决的&#xff0c;我们就可以把它叫做需求 2、需求从…

spring boot缓存_Spring Boot和缓存抽象

spring boot缓存缓存是大多数应用程序的主要组成部分&#xff0c;只要我们设法避免磁盘访问&#xff0c;缓存就会保持强劲。 Spring对各种配置的缓存提供了强大的支持 。 您可以根据需要简单地开始&#xff0c;然后进行更多可定制的操作。 这将是spring提供的最简单的缓存形式…

有c基础学java多久_有c十十基础的自学java语言每天6小时要多长时间?

建议花6个月学习。1、前面2个月学习下面这本书。2、后面4个月同时学习数据结构与算法 刷LeetCode 学习Spring BootSpring boot 看这本书 官方文档 找点视频看看。Spring Boot provides a variety of features that address todays business needs with a powerful database…

Apache的架构师总结出30条架构设计原则

Srinath是一位科学家&#xff0c;软件架构师&#xff0c;也是一名在分布式系统上工作的程序员。 他是Apache Axis2项目的联合创始人&#xff0c;也是Apache Software基金会的成员。 他是WSO2流处理器&#xff08;wso2.com/analytics&#xff09;的联席架构师。 Srinath撰写了两…

本地运行flowable_在CockroachDB上运行Flowable

本地运行flowable什么是CockroachDB&#xff1f; CockroachDB是一个我一直关注了很长时间的项目。 这是一个开放源代码的Apache 2许可数据库&#xff08; Github链接 &#xff09;&#xff0c;该数据库在很大程度上汲取了Google Spanner白皮书的启发 。 它的核心是可水平扩展的…

win10禁用驱动程序强制签名_图文细说 win10系统未检测到第三个监视器的途径 -win10使用教程...

据统计调查&#xff0c;好多朋友都在为图文细说 win10系统未检测到第三个监视器的途径 的问题而烦恼&#xff0c;小编决定将解决的办法分享给大家。对于电脑菜鸟而言看到图文细说 win10系统未检测到第三个监视器的途径 是很无奈的&#xff0c;试着独自一个人解决图文细说 win10…

HH SaaS电商系统的各种编号(编码/代码/代号)设计

文章目录主订单编号规则一&#xff08;租户内唯一&#xff09;主订单编号规则二&#xff08;租户内唯一&#xff09;子订单编号规则&#xff08;租户内唯一&#xff09;租户编号规则&#xff08;系统内唯一&#xff09;供应商编号规则&#xff08;租户内唯一&#xff09;平台编…

安装openstack_午餐前如何安装OpenStack Cloud

安装openstack图1. QuickStart的内部工作原理 云安装程序 如果我告诉您可以在必须停下来吃午餐之前进行OpenStack Cloud环境设置&#xff0c;该怎么办&#xff1f; 您会感到惊讶吗&#xff1f; 你今天可以做吗&#xff1f; 在大多数情况下&#xff0c;我敢打赌您的答案是不…

5e怎么绑定一键跳投_怎么开通淘宝亲情账号 淘宝亲情账号申请步骤【详解】

据官方消息&#xff0c;淘宝将在2月1日上线“亲情账号”功能。那么 淘宝亲情账号怎么开通?在哪申请? 下面为大家介绍下&#xff0c;一起来看看。亲情账号用户在淘宝账号中可以创建“父亲”或“母亲”角色关系&#xff0c;对父母发出注册邀请或直接绑定他们的账号。完成亲情关…