• JHipster技术简介


    本文简单介绍Jhipster是什么,为什么用Jhipster,怎么用Jhipster。

    WHAT - 技术栈

    JHipster是什么

    JHipster是一个开发平台,用于生成,开发,部署Spring Boot + Angular/React Web Application和Spring microservices。

    JHipster能做什么

    JHipster可以自动化生成一个完整和现代的Web应用程序或微服务架构。

    • 基于Spring Boot框架的服务端,具备高性能和高可用的Java技术栈;
    • 基于Angular,React和Bootstrap的时尚,现代,移动优先的前端;
    • 基于JHipster Registry,Netflix OSS,ELK堆栈和Docker的强大的微服务架构;
    • 使用Yeoman,Webpack和Maven/Gradle构建应用程序的强大工作流程。

    JHipster开发效率

    以10个微服务,每个微服务包含1个数据表和4个UI界面(基本CURD界面)的开发规模为例:

    工作项 人工开发(人天) JHipster开发(人天)
    数据库建表 1 0
    项目创建及配置文件编写 2 0
    开发CURD代码 5 1
    开发前端UI 10 1
    合计: 18 2

    在实际项目中因为定制化工作的需要,开发效率的差距会比这个小,但正常情况下减少一半以上的工作量是可以达到的。

    前端技术栈

    • Angular 5和React
    • Bootstrap响应式网页设计
    • HTML5
    • 国际化
    • CSS的Sass
    • WebSocket
    • 使用Yarn安装新的JavaScript库
    • 使用Webpack构建,优化和实时加载
    • 使用Jest和Protractor进行测试
    • 支持Thymeleaf模板引擎

    后端技术栈

    • Spring Boot
    • Maven和Gradle
    • Spring Security
    • Spring MVC REST + Jackson
    • Spring Websocket
    • Spring Data JPA
    • Liquibase
    • Elasticsearch
    • MongoDB和Couchbase
    • Cassandra
    • Kafka

    微服务技术栈

    • 使用Netflix Zuul或Traefik作为HTTP路由
    • 使用Netflix Eureka或HashiCorp Consul作为服务发现
    • 使用Spring Cloud Config作为统一配置

    CI/CD支持

    • Jenkins
    • Travis CI
    • GitLab CI
    • Circle CI

    部署环境支持

    • 使用ELK堆栈进行应用指标监控
    • 使用ehcache,hazelcast或Infinispan进行缓存
    • 优化的静态资源(gzip过滤器,HTTP缓存头)
    • 使用Logback进行日志管理,可在运行时进行配置
    • 使用HikariCP连接池以获得最佳性能
    • 构建标准WAR文件或可执行JAR文件
    • 完整的Docker和Docker-Compse支持
    • 支持所有主要云提供商:AWS,Cloud Foundry,Heroku,Kubernetes,OpenShift,Docker等

    哪些公司在用

    WHY - 方法和实践

    复杂架构设计的思路

    业界对JHipster的评价

    • DDD(领域驱动设计)的最佳实践
    • 微服务架构的最佳实践
    • 敏捷开发的最佳实践
    • DevOps的最佳实践

    HOW - 应用场景

    标准化的数据访问服务

    场景 通过JHipster生成标准化的数据访问微服务(简称DAMS),DAMS与数据库直接交互,提供Restful API给上层业务微服务调用。
    效果 工程代码规范的标准化,标准代码开发的自动化,隔离业务逻辑和数据访问逻辑。
    实现 现有JHipster功能即可满足。

    客户项目的定制开发

    场景 定制化开发工作,通过JHipster自动生成骨干代码,后期数据库设计变更,也可通过JHipster自动化更新代码。
    效果 提高开发效率和代码质量,降低项目成本。
    实现 现有JHipster功能即可满足。

    开放平台和应用市场

    场景 开发人员编写业务领域模型,JHipster自动生成后端微服务和前端UI。
    效果 作为一种PaaS服务能力提供给开发者。
    实现 需定制化JHipster源码。

    GOAL - 目标和价值

    参考资料

    Web Site:https://www.jhipster.tech
    JHipster Online:https://start.jhipster.tech/
    Github:https://github.com/jhipster/generator-jhipster
    Docker:https://store.docker.com/search?q=jhipster&source=community&type=image

    相关文章

    JHipster生成单体架构的应用示例
    JHipster生成微服务架构的应用栈

  • 相关阅读:
    ⑬.nginx缓存
    ⑫.nginx匹配不同的终端http_user-agent
    ⑪.nginx动静分离
    ⑩.nginx静态服务
    OSS 设置ram账户权限
    ⑤ raid
    ⑨nginx 负载均衡
    ⑧nginx 反向代理
    ⑤nginx 常用模块
    ④nginx日志管理
  • 原文地址:https://www.cnblogs.com/yorkwu/p/9274506.html
Copyright © 2020-2023  润新知