微服务的脚手架Jhipster使用(一)
随着微服务的普及以及docker容器的广泛应用,有传统的soa服务衍生出微服务的概念,微服务强调的是服务的独立性,屏蔽底层物理平台的差异,此时你会发现微服务跟容器技术完美契合。在此基础上衍生出的云原生以及DevOps的概念,废话不多说介绍一个非常牛叉的springCloud脚手架- -jhipster。

- 安装
- 安装Java 8 from the Oracle website.
- 安装Node.js from the Node.js website (请安装 64-bit version)
- 安装npm包:
npm install -g npm - 如果你想使用jhipster应用市场, 请安装 Yeoman:
npm install -g yo - 最后安装JHipster:
npm install -g generator-jhipster
- 生成项目
- 选择一个空的文件夹打开cmd:jhipster
- 根据一步步step提示选择构建自己的服务项目
windows下:
以下demo选择微服务应用。实际中根据自己需求生产项目。
1: Which *type* of application would you like to create? (Use arrow keys)
Monolithic application (recommended for simple projects) //简单项目
Microservice application // 微服务应用
Microservice gateway // 微服务网关
JHipster UAA server (for microservice OAuth2 authentication) // 微服务认证
2 :What is the base name of your application? (huhuawei)
输入服务名称
3: As you are running in a microservice architecture, on which port would like
your server to run? It should be unique to avoid port conflicts. (8081)
设置服务的端口号
4:What is your default Java package name? (com.mycompany.myapp)
设置包名
5:Which service discovery server do you want to use? (Use arrow keys)
JHipster Registry (uses Eureka)
Consul
No service discovery
选择注册中心。一般选择Registry比较多
6:Which *type* of authentication would you like to use? (Use arrow keys)
JWT authentication (stateless, with a token) // jwt
OAuth 2.0 / OIDC Authentication (stateful, works with Keycloak and
Okta)//Oauth2 OIDC 认证服务
Authentication with JHipster UAA server (the server must be generated
separately) // Oauth2+jwt Uaa认证服务
选择授权中心
7: Which *type* of database would you like to use?
SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
MongoDB
Couchbase
No database
Cassandra
选择数据库支持Nosql跟常见RDMB数据库
8:? Which *production* database would you like to use? (Use arrow keys)
MySQL
MariaDB
PostgreSQL
Oracle
Microsoft SQL Server
选择数据库,这边会出现两次第一次是production 第二次是devlopment
9:Do you want to use the Spring cache abstraction?
根据需求选择缓存
10:Do you want to use Hibernate 2nd level cache? (Y/n)
是否支持二级缓存
11: Would you like to use Maven or Gradle for building the backend? (Use
arrow keys)
Maven
Gradle
12:Which other technologies would you like to use?
安装一些其他的组件。如ES,KAFKA之类的
13:Would you like to enable internationalization support? (Y/n)
支持国际化?
14: Please choose the native language of the application (Use arrow keys)
English
Estonian
Farsi
French
Galician
........
选择本地支持的语言包含中文
15:Please choose additional languages to install
可以额外安装其他语言
16:Besides JUnit and Jest, which testing frameworks would you like to use?
Gatling
Cucumber
选择测试框架,针对微服务http接口测试,生成测试报告
17:Would you like to install other generators from the JHipster Marketplace?
从jhipster市场中选择组件安装
- 如果你觉得安装这些环境太麻烦,你又熟悉docker的基本命令,那建议使用docker去生成项目;
选择linux服务器,安装docker;
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker 拉取jhipster官方镜像
docker pull jhipster/jhipster:master 启动jhipster镜像,选择一个空文件/jhipster夹挂载到容器中
docker container run --name jhipster
-v /jhipster:/home/jhipster/app
-v ~/.m2:/home/jhipster/.m2
-p 8080:8080
-p 9000:9000
-p 3001:3001
-d -t jhipster/jhipster 进入容器中
docker container exec -it --user root jhipster bash
然后就可以生成项目了。与windows上操作无差别
- 项目的组成简单介绍
Gateway: springcloud Zuul Proxy 进行动态路由微服务。
Registry:主要封装了Eureka以及配置中心Config Server。
Jhipster Console:封装了Elk监控 以及 sleuth zipkin 等分布式链路监控组件。
Jhipster Uaa: 采用UAA用户登录认证 OAUTH2集中式认证,默认不使用的话则是JWT无状态认证


- 总结
上述仅仅是大体的架构,Jhipster内部使用了很多插件来进行敏捷开发,包括实体类JDL快速生成从数据库到Controller代码,开发效率非常之高。适合中小型企业采用,而且Jhipster支持DockerFile与Compose 文件生成,可以帮助我们快速容器化服务部署。
微服务的脚手架Jhipster使用(一)的更多相关文章
- 看了 Spring 官网脚手架真香,也撸一个 SpringBoot DDD 微服务的脚手架!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 为什么我们要去造轮子? 造轮子的核心目的,是为了解决通用共性问题的凝练和复用. 虽然 ...
- 使用jhipster搭建微服务--简单demo
简介 jhipster简单来说是一个基于nodejs+yeoman的java代码生成器.往大了说是基于java的一套微服务解决方案.请注意是一整套的微服务解决方案.jhipster在整个程序架构上都做 ...
- 全)Java从单体到微服务打造房产销售平台 2018年慕课网 高清视频+源码
第1章 课程介绍本章从整体上介绍课程有什么收获,以及课程如何安排,其中包括微服务的两个不同学习阶段--单体开发阶段(基于SpringBoot)和微服务改造阶段(基于SpringCloud),知识点梳理 ...
- JHipster生成微服务架构的应用栈(一)- 准备工作
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
- JHipster技术栈定制 - 基于UAA的微服务之间安全调用
本文通过代码实例演示如何通过UAA实现微服务之间的安全调用. uaa: 身份认证服务,同时也作为被调用的资源服务.服务端口9999. microservice1: 调用uaa的消费者服务,服务端口80 ...
- JHipster生成微服务架构的应用栈(二)- 认证微服务示例
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
- JHipster生成微服务架构的应用栈(三)- 业务微服务示例
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
- JHipster生成微服务架构的应用栈(四)- 网关微服务示例
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
- JHipster生成微服务架构的应用栈(五)- 容器编排示例
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
随机推荐
- Ubuntu系统---FeiQ安装记录
Ubuntu系统---FeiQ安装记录 linux下安装飞秋/飞鸽传书之类的软件iptux信使,可以与windows在一个局域网下聊天与传书文件,安装很简单. 首先,直接运行下面的语句即可:sudo ...
- java 值传递还是引用传递
首先看一下这篇文章 -- 跳 这篇文章就进行了大致的介绍,以及一些简单的例子,但是还缺少一个关键的例子: public class QQ { public static void main(Strin ...
- P4390 [BOI2007]Mokia 摩基亚 (CDQ解决三维偏序问题)
题目描述 摩尔瓦多的移动电话公司摩基亚(Mokia)设计出了一种新的用户定位系统.和其他的定位系统一样,它能够迅速回答任何形如"用户C的位置在哪?"的问题,精确到毫米.但其真正高科 ...
- ThreadPoolExecutor源码分析一
在线程池出现之前,每次需要使用线程,都得创建一个线程.但是,在java的运行环境中,创建一个线程是非常耗费资源和时间的.是否可以把线程重复利用,减少线程的创建次数.基于此,java1.5 ...
- string::cbegin string::cend
const_iterator cbegin() const noexcept; const_iterator cend() const noexcept;注:返回常量迭代器,不能修改 #include ...
- 1.打开windows中功能的快捷方式
1.打开组策略 命令:gpedit.msc 2.打开注册表 命令:regedit 3.快速打开本地安全组策略 命令:secpol.msc 4.打开服务 命令:services.msc 5.系统退域的时 ...
- 题解 [51nod1161] Partial Sums
题面 解析 我们设\(f[i]\)表示\(k\)次操作后第一个数在第\(i\)个位置上加了多少次, 而其它的数也可以类推, 第\(i\)个数在第\(j\)个位置加的次数就是\(f[j-i+1]\). ...
- selenium+pyquery爬取淘宝商品信息
import re from selenium import webdriver from selenium.common.exceptions import TimeoutException fro ...
- Python IDE Ⅱ
3.设置Pydev 安装完成后,还需要设置一下PyDev,选择Window -> Preferences来设置PyDev.设置Python的路径,从Pydev的Interpreter - Pyt ...
- kubeadm 部署kubernetes1.11.1,dashboard1.10.0
---恢复内容开始--- 实验环境准备2台虚拟机: master节点:172.17.1.36 node节点:172.17.1.40 首先安装master节点: master 的虚拟机是全新的机器,在安 ...