HZERO初体验

作者: 陈同学很忙 | 来源:发表于2020-10-12 08:57 被阅读0次

前言

随着HZERO的开源,为了让大家更好的了解和使用该平台,后面会不定期的为大家分享该平台的一些特性、设计和常见问题分析等,也欢迎在开源社区一起探讨和交流。
官方开源入口 https://gitee.com/open-hand/hzerohttps://github.com/open-hand/hzero

什么是HZERO

HZERO是汉得信息基于微服务架构开源免费的企业级PaaS平台,可支持企业各类系统搭建或产品研发,帮助企业快速构建技术中台。

以上这个解释比较官方,也比较生涩,这里给大家拆分一下

  • 基于微服务架构:随着微服务技术的不断成熟,面对企业系统建设面临的快速响应、DevOps等诸多需求提供了新的解决思路和方案

  • 可以理解成是一个架手架:基于该平台可方便、快速的进行企业级应用系统的开发,避免大量重复造轮子所带来的额外成本,让企业信息化建设的重心放在业务逻辑本身

  • 该平台重点适用于企业级:市面上也有很多开源的应用系统开发脚手架,但大多功能简单、基于开源的组件整合也比较凌乱,服务支持也不是很好。用于解决一些小系统、简单应用尚可,但面对企业级的复杂应用会比较吃力。HZERO的诞生就是来源于大量企业级应用系统建设的沉淀,在这一块具备先天的优势

总之:HZERO平台为企业技术选型提供了一个重要的参考,降低了微服务技术使用的门槛,有利于加速企业数字化转型的步伐

平台逻辑架构

HZERO采用 J2EE 技术体系,基于Spring Cloud微服务框架进行封装,平台设计灵活可扩展、可移植、可应对高并发需求。同时兼顾本地化、私有云、公有云部署,支持SaaS模式应用。

平台逻辑架构
  • 开发框架:平台底层应用的基础服务,是一个微服务系统运行所必要的组件服务。平台提供较好的兼容性,可根据需要选择不同的基础组件,如注册中心、配置中心、治理中心等,并能很好的适配阿里云EDAS、百度CNAP等公有云平台。

  • 辅助开发包:主要针对开发人员进行技术开发支持,提供一系列通用的开发工具包,定义了基础工具类,如配置、缓存、消息、验证码等工具,减少开发人员重复造轮子,帮助提高代码编写效率。

  • 开发组件:主要包含通用的Starter组件,如Excel导入导出、数据防篡改等,另外包含服务客户端组件,便于技术开发过程中,快速使用通用服务提供的能力。

  • 通用服务:主要指平台中已包含的开发业务系统所需要的基础服务,如分布式调度、消息、权限、文档、支付管理等,能快速适配各产品线、各业务系统的通用基础功能需求,帮助提高开发效率。

  • 基本功能:HZERO平台提供的通用业务功能,目前主要包括平台管理、开发管理、文件管理,报表管理及工作台等一系列业务系统所必须或常用的基础功能。

主要技术特点

基于Java主流开源技术构建

平台基于流行的J2EE技术栈,应用稳定的Spring Cloud微服务框架进行构建,主流开源的架构给我们带来了以下优势:

  • 广泛的业界支持:流行的开源技术都是广泛使用的,是业界默认的标准。

  • 提高开发效率:流行的开源技术会有大量的开发人员提供大量个性的解决方案,能更快速的找到满足需求的各种解决方案。

  • 提高平台的技术稳定性:流行的开源技术已经通过大量的业务场景验证,保证了技术的成熟性,提高了平台和稳定性。

  • 可维护性:流行的开源技术确保了各种社区的活跃度,可以更好的解决平台维护过程中遇到的问题。

基于微服务架构设计和扩展

平台采用微服务架构设计,平台基础模块的每一个应用功能都使用微服务完成:

  • 每个服务都有一个清楚的功能边界

  • 每一个后台服务开放REST API,许多服务本身也采用了其它服务提供的API

  • 通过API Gateway来统一API暴露、权限校验、路由转发

  • 通过Config配置中心来统一管理平台服务配置

  • 每个微服务可以选择独立部署和弹性资源配置

基于HZERO开发的应用系统,可以很容易的将业务对象作为基本单元进行纵向拆分,以交互层次作为标准进行横向拆分,从而形成多应用交互的微应用架构体系,有效的实现应用的拆分,实现敏捷开发和部署。

服务无状态

单个微服务节点的性能在大业务量时性能会遇到瓶颈,无法满足企业对业务系统的要求,HZERO服务采用无状态化设计,可以实现水平扩展部署。

请求流程示意图

前后端分离

HZERO提供完整的REST API接口,采用前后端分离技术,可以同时高效的支持移动APP、Web、小程序等应用的开发场景,同时结合Spring Security的OAuth2扩展,采用统一的认证中心,保障REST API的安全性。

前后端分离示意图

主要技术栈

技术栈列表

后端技术栈

  • 核心框架:Spring Framework

  • 微服务框架:Spring Cloud

  • 安全框架:Spring Security + Spring Oauth + JWT

  • 三方登录组件:Spring Social

  • 开发框架:Spring Boot

  • 任务调度:Quartz

  • 持久层框架:MyBatis

  • 数据库连接池:Hikari

  • 客户端负载均衡:Ribbon

  • 熔断组件:Hystrix

  • 网关组件:Spring Cloud Gateway

  • 日志管理:Logback

  • 运行容器:Undertow

  • API文档管理:Swagger2

  • 中间件操作组件:Spring Data Redis

DB支持

可支持多种关系型DB,暂时直接支持如下7种,可根据需要再扩展支撑其他DB:

  • ORACLE

  • SQL Server

  • MySQL

  • TiDB

  • GaussDB

  • PostgreSQL

  • HANA

应用的NoSQL DB:

  • Redis

前端技术栈

  • JS框架:react、dva、nodejs

  • CSS框架:Less

  • 组件库:Ant Design

  • 富文本:CKEditor

  • 工具库:Lodash、Moment、Mock.js

  • 多模块管理:Lerna

  • 测试框架:Jest

  • 打包构建工具:Webpack

一睹为快

一下仅展示简单的几个页面,需要了解其功能可自行安装部署

默认风格 平铺风格菜单 个人中心

本文档资料主要来源于HZERO官方文档,了解详情请可直接访问HZERO开源版白皮书

相关文章

  • HZERO初体验

    前言 随着HZERO的开源,为了让大家更好的了解和使用该平台,后面会不定期的为大家分享该平台的一些特性、设计和常见...

  • Hzero入门部署

    Hzero目的是沉淀大量通用标准组件、服务,目标是搭建各种产品快速组件、开发的融合平台,减少成本浪费。 Hzero...

  • HZERO源码探究

    根据官方开源入口项目,可以看到HZERO开源代码分成了多个git项目,总体感觉看起来比较多比较杂。但仔细看了说明后...

  • HZERO安装引导

    HZERO平台基于Spring Cloud的微服务架构,目前从官方资料来看,主要提供了源码、Docker镜像和依赖...

  • hzero单点登录集成

    获取token改造:改造类:CustomAuthenticationProvider改造方法:retrieveUs...

  • yii初体验(7-15)

    yii初体验(7)视图 yii初体验(8)模块 yii初体验(9) 小部件widgets yii初体验(10) 前...

  • 动画篇-layout动画初体验

    动画篇-layout动画初体验 动画篇-layout动画初体验

  • 劳动主题画报

    一、实践画报(含体验日记) _____初体验(如:记者初体验、医生初体验等) 说明: 1.利用假期亲身体验一项工作...

  • 简约不简单

    初体验

  • 体验

    初体验

网友评论

    本文标题:HZERO初体验

    本文链接:https://www.haomeiwen.com/subject/serupktx.html