2019独角兽企业重金招聘Python工程师标准>>>

Jhipster与微服务

什么是Jhipster?

JHipster is a development platform to generate, develop and deploy Spring Boot + Angular/React Web applications and Spring microservices.

Jhipster微服务架构图:

Jhipster通过使用NETFLX OSS(NETFLIX Open Source Software)+Spring boot Spring Cloud+Docker的技术实现微服务技术栈。

使用ELK(elastic search+ logstash + kibana)实现日志收集、处理、可视化。

微服务部分可拆件为以下部分:

  • 注册中心

    Jhipster可以使用 Jhipster Registry或者consul做为服务注册中心。

  • 网关

    当用户通过浏览器网站的时候首先经过网关,网关提供了用户访问的WEB APP,反向代理和权限管理功能,用户请求通过反向代理进入要具体的微服务中。

  • UAA

    访问权限控制模块。

  • 微服务

    对外提供各种服务的微服务。

基础环境配置

本文介绍mac下环境配置,当然也可选择在Linux操作系统或者Windows系统下进行。

安装nodejs

brew install node@8

安装yarn

brew install yarn

安装yeoman

npm install -g yo

安装jhipster

#安装的版本是v5.0.0-beta.1
npm install -g generator-jhipster@beta

受我国特殊的网络环境的影响,一些WEB前端的安装包是不能直接下载的,需要对npm 和 yarn 设置淘宝镜像。

创建微服务工程

创建如下文件夹:

└── micro-services├── gateway├── registry├── service1├── service2└── uaa

创建注册中心

Jhipster官方提供注册中心的源码代码,可以直接运行。

git clone https://github.com/jhipster/jhipster-registry.git  ./registry # clone代码到本地文件夹
yarn install # 安装前端依赖
yarn start  # 编译运行Angular项目
./mvnw   # 运行后台

安装依赖的时候会出现node和yarn的版本不兼容,本环境的node版本号是v8.11.2,yarn的版本为1.7.0,所以需要修改package.json。同时需要将node-sass的版本号修改

"engines": {"node": ">=8","yarn": ">1.3.2"}

在实验到的时候将node升级为v10会出现编译错误,所以不建议升级到最新版本。

访问http://localhost:8761/ 即可看到运行情况,运行效果如下图所示:

创建uaa

直接在./uaa目录下运行jhipster命令,应用类型选择JHipster UAA server,如下图所示:

创建完成后执行如下命令:

#安装依赖
yarn install
# 编译启动后端后端
./mvnw

运行后即可在注册中心(http://localhost:8761) 中的Instance Registed中看到.

创建网关

直接在/gateway目录下运行jhipster命令,应用类型选择Microservice gateway

创建完成后执行如下命令:

#安装依赖
yarn install
# 编译启动前端工程
yarn start
# 编译启动后端工程
./mvnw

运行后即可访问http://localhost:8080 查看效果如下图:

创建服务

直接在/service1和/service2目录下分别运行jhipster命令,应用类型选择Microservice application,注意各个服务的端口号不应该相同。项目生成好之后直接运行./mvnw即可启动项目

最终运行了uaa、网关和两个微服务项目之后可在注册中心中四个注册到注册中心的四个实例:

测试

可以在service1中创建实体book,在service2中创建实体author,查看在一个网关中是否能够调用两个服务。

可以通过http://localhost:8080/service1/api/books 调用service1中的 /api/books REST接口。

可以通过http://localhost:8080/service2/api/authors 调用service2中的 /api/authors REST接口。

可以在网关的API文档中查看到所有服务的文档REST API文档:

最后

以后会写一系列关于使用Jhipster创建、开发和部署文章,有兴趣的朋友可以关注微信公众账号订阅。

转载于:https://my.oschina.net/liuyatao19921025/blog/1827560

Jhipster创建微服务【0】——踩坑相关推荐

  1. JHipster生成微服务架构的应用栈(二)- 认证微服务示例

    本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...

  2. JHipster生成微服务架构的应用栈(三)- 业务微服务示例

    本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...

  3. JHipster生成微服务架构的应用栈(一)- 准备工作

    本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...

  4. 什么是Spring Boot以及为什么它是用于创建微服务的首选框架

    为什么要使用Spring Boot创建微服务? Spring Boot是Java领域众所周知的首选框架,用于创建Micro Services. 使用Spring引导框架,可以非常轻松地创建Java应用 ...

  5. 创建微服务多模块项目

    文章目录 创建微服务多模块 微服务模板忽略垃圾文件 idea提交项目到码云 我学习谷粒商城的码云开源项目大家喜欢一起交流学习啊guylimall开源项目 创建微服务多模块 微服务模板忽略垃圾文件 把所 ...

  6. 一次Delta lake 0.8.0 踩坑有感:使用新框架的新版本,一定要尽早关注多多关注社区动态...

    点击上方蓝色"明哥的IT随笔",关注并选择"设为星标",keep striving! 一.数据胡三剑客介绍 关注大数据发展动态的朋友,都知道最近几年数据湖存储引 ...

  7. 【创建微服务】创建微服务并使用人人开源代码生成器生成基本代码

    创建项目微服务 -- 添加模块 添加依赖 使用 人人开源代码生成器 快速生成 crud 代码 -- https://gitee.com/renrenio 下载导入人人开源项目后,修改 applicat ...

  8. 创建微服务架构的步骤_如何快速搭建一个微服务架构?

    原标题:如何快速搭建一个微服务架构? 微服务火了很久,但网上很少有文章能做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务 ...

  9. Qt5.13.2中配置opencv4.5.0踩坑记录

      目录 cmake编译opencv时速度过慢或超时 mingw32-make时报错 错误一 [modules\core\CMakeFiles\opencv_core.dir\build.make:1 ...

  10. 致传统企业朋友:不够痛就别微服务,有坑

    一.微服务落地是一个复杂问题,牵扯到IT架构,应用架构,组织架构多个方面 在多家传统行业的企业走访和落地了微服务之后,发现落地微服务是一个非常复杂的问题,甚至都不完全是技术问题. 当时想微服务既然是改 ...

最新文章

  1. Pandas Cheat Sheet
  2. 鸟哥的linux私房菜-文件压缩于打包-2
  3. python适合多大的人学-学Python编程孩子几岁最合适?
  4. 关于省客服集中全业务系统IT项目管理的几点分析!
  5. java线性表源代码_线性表java实现之顺序存储源码
  6. JSP Servlet Mysql学生成绩管理系统
  7. 点计算机没有本地磁盘,快速解决WinPE系统下没有本地磁盘的方法
  8. vscode的eslint无效_VSCode配置eslint
  9. Expression Blend中文教程 - 开篇
  10. 天禾云盘【Fly.Box】2.4.0发布,含Android、IOS客户端
  11. python新手入门.pdf_所有Python入门书籍的整理,初学者必看,附赠所有电子版(一)...
  12. 当当网上书店购物车——源码
  13. IAM:瑞策科技位列《全球区块链专利排行榜》第五位
  14. window MFC桌面下雪程序
  15. 这样写的文案可以激起欲望
  16. 荷池堪作镜,盈盈可鉴心。(递推
  17. CSS文字的居中 盒子模型
  18. Windows python3安装word2vec模块常见错误处理
  19. Bugly 遇到的问题总结
  20. Linux 设备驱动开发 —— platform设备驱动应用实例解析

热门文章

  1. Whctf 2017 -UNTITLED- Writeup
  2. andorid月总结
  3. MFC单文档多视图程序设计与Splitter拆分窗口
  4. Logic Pro X for Mac - 音乐制作软件
  5. Parallels Desktop 安装Win 10提示“安全启动功能防止操作系统启动”该如何操作?
  6. TeamViewer中一些按钮的功能
  7. cwRsyncServer 从 windows server 2008 同步到 CentOS
  8. CTU 2019 Open Contest I.SixPack (WA39)
  9. iOS底层探索之KVO(三)—自定义KVO
  10. 高效管理CrossOver容器里的程序