构件清单
halo以core / supports
的规划思路来设计实现技术构件。同时又借鉴了spring-boot
的starter
思路,为应用开发者筛选和组装了多个“开箱即用”的构件集合。下面包含了已实现的技术组件和目前提供的几个构件簇。
halo-core
构件包
halo-core
构件包构件名称
功能描述
halo-common
提供通用统一的“工具箱”函数集合。包含了在更复杂的功能模块中需要被使用的工具函数方法的集合。对core
包含技术构件提供桥接作用。
halo-data
为系统提供Application
范围的数据模型对象和接口声明
halo-config
包含spring-cloud-config
和spring-cloud-zookeeper
两个构件。提供应用所有配置项的读写和内容管理服务。开启了spring-cloud-common
的@RefershScope
特性,实现springBean
的配置项变动的感知。
halo-log
包含slf-4j
和logback
两个日志组件。提供统一的日志输出模式。除了提供提供控制台,磁盘输出方式外,基于kafka-client
组建提供kafka日志输出。并通过spring-framework
的AOP对代码各分层做日志记录。
halo-tune
包含spring-cloud-bus
和spring-cloud-netflix-hystrix
两个构件。为分布式架构下的系统提供节点间协同服务能力。包括应用间通知推送和服务熔断等。
halo-eyes
包含spring-boot-actuator
,metrics
,spring-cloud-netflix-hystrix-dashboard
构件。将应用自身的服务运行状况和一些管理类操作通过web和JMX的形式暴露出来,为外接监控系统提供指标数据。
halo-cache
包含jedis
组件。除了提供redis
基本的读写访问操作外,也增强了对数据库表数据的缓存化和缓存生命周期的管理。
halo-auth
包含apache-shiro
组件。提供Web应用的用户认证与授权能力。通过可插拔的API设计,对用户授信体系做全链路的管理。
halo-cxf
包含apache-cxf
,swagger-UI
,spring-cloud-zookeeper-discovery
几个组件。在为应用提供SOAP
/HTTP-JSON
的同步RPC服务支持基础上,一方面提供基于zookeeper的服务注册发现机制,同时也为开发者提供研发过程中的接口测试支持。除此之外,也支持对报文头信息的扩展定制等一系列新的功能特性。
halo-dao
包含Druid
连接池构件。基于spring提供的数据库访问和事务管理的特性之上,结合Druid
自身具备的各类SQL监控统计功能,增强应用对数据库访问过程中的掌控力度。
halo-filestore
包含mongo-client
组件。为应用系统独立封装了对文档资源的访问API。提供NAS,FTP,MongoDB三种文档资源访问的操作服务。
halo-rabbit
包含amqp-client
构件。提供对rabbitmq
消息中间件的基础访问能力。通过一系列API的设计来简化访问。
halo-kafka
包含kafka-client
,kafka-stream
构件。提供对kafka
中间件的基础访问能力。通过一系列API的设计来简化访问
halo-dasc
包含halo-rabbit
,halo-dao
构件。借助rabbitmq
和数据库自身具备的一致性特征,让开发者将异步服务调用过程以RPC风格来设计,实现调用链路的指令送达保证。是一种以消息中间件为中心的分布式异步服务调用框架。
halo-idemp
包含spring-spEL
组件。通过注解和spEL组合,向开发者提供在服务或方法层面上,更便捷的“幂等性”支持。
halo-web
包含spring-mvc
组件。提供WEB应用请求的处理支持。与halo-auth
配合,提供完整的WEB应用层技术组件集合。
halo-batch
包含spring-batch
,Quartz
构件。提供批处理任务编排和调度的能力。
halo-chopper
包含chopper
框架。chopper
是halo
的“孪生兄弟”,其内部是通过Akka
来管理应用的线程模型和调度。halo-chopper
主要提供两个框架的桥接支持。
halo-suite
为了方便开发者对各组件的选择,提供了对halo-core
下所有组件的maven引入依赖。
core-supports
构件包
core-supports
构件包构件名称
功能描述
依赖组件
auth-anonymous
提供WEB应用的匿名访问的功能组件。
halo-auth
auth-classic
提供WEB应用页面登录鉴权方式组件。
halo-auth
auth-oauth2-authorizeserver
提供oauth2协议中的认证授权服务组件。
halo-auth
auth-oauth2-resourceserver
提供oauth2协议中的资源访问服务组件。
halo-auth
auth-uaa
提供对接UAA统一身份认证的服务组件。
halo-auth
cache-session
基于Redis缓存的会话容器实现组件。
halo-cache
,halo-auth
cache-support
基于WEB服务的对缓存生命周期管理的组件。
halo-cache
,halo-cxf
,halo-web
dasc-support
对halo-dasc
组件中要求的持久化资源功能的数据库实现组件。
halo-dasc
,halo-dao
,halo-cxf
,halo-cache
fileload-support
基于WEB的文件上传下载公共url服务组件。
halo-filestore
,halo-web
header-support
对halo-cxf
组件下,特定要求的报文头内容创建和解析功能的组件支持。
halo-cxf
idemp-support
对halo-idemp
组件中要求的幂等要素持久化功能的数据库实现组件。
halo-idemp
,halo-dao
,halo-cache
csrf-firewall
抵御WEB应用来自浏览器端的CSRF攻击防火墙组件。
halo-web
,halo-auth
batch-trigger
为批处理任务的调度过程,提供http和dasc两种触发机制。
halo-batch
,halo-dasc
,halo-cxf
global-clock
为分布式系统环境提供统一的时钟服务。
halo-data
,halo-data
health-checker
为应用系统的运行提供的健康检查监控组件。
halo-config
datagrid-support
为应用系统的WEB表格分页展示提供模型和SQL写法支持。
halo-data
jwt-support
提供WEB应用基于JWT的鉴权方式组件。
halo-auth
develop-supports
构件包
develop-supports
构件包构件名称
功能描述
依赖组件
dev-tool
为开发者提供相关功能代码和配置生成的组件。包括:工程目录生成,代码模版生成,数据库密码的密文生成等
halo-core
business-supports
构件包
business-supports
构件包
business-supports
除了表格中列出的现有扩展插件之外,应用系统在实现业务功能过程中也会持续添加与业务领域模型相关的技术和业务组件。
构件名称
功能描述
依赖组件
dbversion-checker
基于halo-config
,对应用关联数据库的脚本执行过程的版本校验。
halo-config
,halo-dao
appversion-checker
基于halo-config、
,对应用自身的版本校验。
halo-config
session-router
为了满足应用系统对会话容器Redis和业务缓存Redis的分离,基于halo-cache
开发的支持组件。
halo-auth
,halo-cache
dasc-faildview
将DASC服务调用过程的轨迹数据,以消息为单位重新梳理,构建视图表的服务组件。
halo-dasc
,halo-dao
dasc-soag
将DASC服务调用过程的轨迹数据,输出到SOAG平台。
halo-dasc
,cloudmq
dict-support
基于统一的数据字典表,生成Java枚举类型的字典内容,并配套http服务调用,供开发者使用。
halo-cahce
,halo-web
,halo-cxf
batch-admin
基于spring-batch
的内置表,制作的一个简化版本的批作业管理端。
halo-batch
,halo-web
authority-support
基于halo-auth
提供的扩展能力之上,整合和管理用户会话周期。同时结合应用的组织结构和用户管理数据,对外提供用户和机构数据服务。
halo-auth
,halo-cxf
jwt-service
基于halo-auth
的API设计,面向PC端提供JWT风格的用户身份认证机制。
halo-auth
,jwt-support
,jjwt
task-support
对任务调度系统的人工节点地址跳转的接入功能封装。
halo-cxf
,halo-dao
tsms-support
任务调度系统提供的DASC服务接口封装。
halo-common
cms-support
调用CMS系统的REST服务接口封装。
halo-common
message-support
为应用系统在WEB页面应用上提供可靠的用户通知消息的推送和接收组件。
halo-rabbit
,halo-dao
,halo-cxf
,halo-web
,halo-cache
halo-boot
构件簇
halo-boot
构件簇
halo-boot
构件簇是为了避免开发者在halo众多技术组件的选择中迷失自我,出现选择恐惧症状的问题。halo作者结合自己在企业IT实施中的经验,对不同的系统搭建需求设计了几个具有典型代表的构件集合来方便使用。
构件名称
功能描述
依赖组件
halo-batchapp-starter
主要面向批处理作业场景的技术构件集合。
halo-config
,halo-dao
halo-serviceapp-starter
主要面向无状态业务服务场景的技术构件集合。
halo-config
halo-webapp-starter
主要面向web展现交互场景的技术构件集合。
halo-auth
,halo-cache
halo-microapp-starter
主要面向构建微服务场景的技术构件集合。
halo-dasc
,halo-dao
halo-mobileapp-starter
主要面向构建移动端应用场景的技术构件集合。
halo-dasc
,cloudmq
Last updated