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流流量的整体式应用程序

登记处

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

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

微服务应用

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

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

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

微服务实战

登记处

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

网关

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

----------------------------------------------------------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

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

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

微服务应用

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

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或刷新视图。 请注意我们的微服务如何注册自己。

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

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

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

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

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

您应该会看到以下内容:

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

结论

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

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

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

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

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

jhipster

jhipster_JHipster入门,第2部分相关推荐

  1. jhipster_jHipster入门,第1部分

    jhipster 因此,您想保持技术的领先地位,但对所有活动部件感到不知所措. 你真幸运! 这就是jHipster发光的地方. 如果您喜欢Ruby on Rails或Grails的方法来快速启动和运行 ...

  2. jhipster_JHipster入门,第3部分

    jhipster 欢迎回到本JHipster教程系列! 在第一部分中,我们介绍了如何创建整体应用程序. 在第二部分中 ,我们逐步创建了一个微服务应用程序(这有点复杂). 对于那些正在努力使JHipst ...

  3. 用Construct 2制作入门小游戏~

    今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...

  4. Docker入门六部曲——Swarm

    原文链接:http://www.dubby.cn/detail.html?id=8738 准备工作 安装Docker(版本最低1.13). 安装好Docker Compose,上一篇文章介绍过的. 安 ...

  5. Docker入门六部曲——Stack

    原文链接:http://www.dubby.cn/detail.html?id=8739 准备知识 安装Docker(版本最低1.13). 阅读完Docker入门六部曲--Swarm,并且完成其中介绍 ...

  6. Docker入门六部曲——服务

    原文链接:http://www.dubby.cn/detail.html?id=8735 准备 已经安装好Docker 1.13或者以上的版本. 安装好Docker Compose.如果你是用的是Do ...

  7. 【springboot】入门

    简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...

  8. SpringBoot (一) :入门篇 Hello World

    什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  9. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

最新文章

  1. 启明云端分享| 家电应用 串口屏选型推荐
  2. 一个java源文件中可以声明多少个class与编译后会生成多少个字节码文件
  3. python123第七章_Python入门第7/10页
  4. CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表
  5. codesys中打开linux端的串口_机械臂和移动机器人,CoDeSys介绍
  6. LibMeshEquationSystem 类接口
  7. Python知识点入门笔记——特色数据类型(字典)
  8. 服务器装win10性能怎样,Win10 藏着不给人看的卓越性能模式到底对电脑有什么影响?...
  9. linux pipe2函数,pipe()函数 Unix/Linux
  10. cahrt框架 ios_iOS-Charts介绍
  11. android+system+disk.vdi,VirtualBox压缩VDI格式硬盘/调整磁盘大小
  12. Notepad 追加字符
  13. 云开发表情包制作神器微信小程序源码下载,支持各种自定义
  14. 华科智标_停车场定位导航反向寻车系统
  15. NAACL 2019 | ​注意力模仿:通过关注上下文来更好地嵌入单词
  16. python开源电子书_Python 开源电子书资源
  17. 怎么用matlab画无差别曲线,MATLAB系列第二章初等模型.ppt
  18. 中科院大牛博士是如何进行文献检索和阅读的(好习惯受益终生)
  19. 2023年软考网络工程师考试备考指南
  20. 计算机图形基础学答案,计算机图形学基础答案全.pdf

热门文章

  1. P4640-[BJWC2008]王之财宝【OGF,Lucas定理】
  2. YbtOJ#903-染色方案【拉格朗日插值,NTT,分治】
  3. jzoj4227-B【dp,字符串】
  4. P1282-多米诺骨牌【dp,背包】
  5. P1801-黑匣子_NOI导刊2010提高【堆】
  6. codeforces1496 D. Let‘s Go Hiking(乱搞+讨论)
  7. 【模板】KMP算法、fail树
  8. Codeforces Round #671 (Div. 2)
  9. 【状压DP】最优配对问题(jzoj 3420)
  10. 33、JAVA_WEB开发基础之会话机制