Java 微服务框架 HP-SOA v1.1.0 发布 — 支持 spring-boot 3.2.x
HP-SOA —— 功能完备,简单易用,高度可扩展的Java微服务框架。
- 项目主页 : https://www.oschina.net/p/hp-soa
- 下载地址 : https://github.com/ldcsaa/hp-soa
- 开发文档 : https://gitee.com/ldcsaa/hp-soa/blob/master/README.md
【快速开始】
技术架构
技术集成
- Web服务框架:spring-boot 3.x
- 微服务框架:spring-cloud 4.x
- 微服务框架:Dubbo 3.x
- 服务注册中心:Nacos
- 配置中心:Nacos
- 服务治理中心:Dubbo Admin
- 流量控制中心:Sentinel Dashboard + Nacos
- 数据库:MySQL、Druid、mybatis-plus(支持多数据源)
- 缓存:Redis + Redisson(支持多实例)
- NoSQL数据库:MongoDB
- 搜索引擎:Elasticsearch
- 消息总线:RabbitMQ(支持多实例,支持可靠消息)
- 消息队列:Kafka(支持可靠消息)
- MQTT发布订阅:Eclipse PAHO mqttv5
- 分布式Job:xxl-job
- 轻量级Job:Redisson + Spring Scheduled
- 分布式事务:Seata
- 全局ID:Leaf(支持 Snowflake ID 和 Segment ID)
- 统一日志:Log4j + Kafka + ELK
- 调用链跟踪:Skywalking
- 监控告警:Prometheus + Grafana + Alert Manager
模块说明
- hp-soa-dependencies 依赖管理模块,定义依赖包及其版本
- hp-soa-framework-core 基础模块,定义 HP-SOA 基础组件和工具
- hp-soa-framework-web Web应用模块,集成 spring-boot 和 Dubbo,提供核心微服务功能
- hp-soa-framework-leaf Leaf全局ID模块,基于Leaf,提供分布式全局ID功能
- hp-soa-framework-gelf GELF日志模块,提供TCP、UDP、HTTP、Redis、Kafka等远程日志传输功能
- hp-soa-framework-util 扩展工具包模块,提供文件处理、邮件、远程访问等组件和工具
- hp-soa-starter-web Web应用启动器,配置并启动应用服务,所有 HP-SOA 项目都必须引入该启动器
- hp-soa-starter-web-cloud Spring Cloud 启动器,开启 Spring Cloud 微服务功能,所有 Spring Cloud 微服务项目都必须引入该启动器
- hp-soa-starter-web-dubbo Dubbo启动器,开启Dubbo微服务功能,所有 Dubbo 微服务项目都必须引入该启动器
- hp-soa-starter-task Task启动器,开启 Spring Task 功能,并为 Spring Task 提供日志关联和调用链跟踪能力
- hp-soa-starter-nacos Nacos配置中心启动器,开启配置中心功能,应用程序可以从远程配置中心加载配置
- hp-soa-starter-data-mysql MySQL启动器,开启MySQL数据库访问功能,并提供动态数据源、数据源监控和全局事务管理等能力
- hp-soa-starter-data-redis Redis启动器,开启Redis访问功能,支持多Redis实例,支持Spring Cache
- hp-soa-starter-data-mongodb MongoDB启动器,开启MongoDB访问功能,支持通过 Spring Data 接口方式访问MongoDB
- hp-soa-starter-data-elasticsearch Elasticsearch启动器,开启Elasticsearch访问功能,支持通过 Spring Data 接口方式访问Elasticsearch
- hp-soa-starter-rabbitmq Rabbitmq启动器,开启Rabbitmq访问功能,支持多Rabbitmq实例,提供可靠消息实施方案以及消息跟踪能力
- hp-soa-starter-kafka Kafka启动器,开启Kafka访问功能,提供可靠消息实施方案以及消息跟踪能力
- hp-soa-starter-mqtt MQTT启动器,开启MQTT发布订阅功能,全面支持mqttv5协议
- hp-soa-starter-job-exclusive 轻量级Job启动器,开启轻量级排他Job功能,提供Job执行日志关联和调用链跟踪能力
- hp-soa-starter-job-xxljob Xxl-Job启动器,开启 Xxl-Job 功能,结合 xxl-job-admin 提供分布式Job能力
- hp-soa-starter-leaf Leaf全局ID启动器,开启Leaf全局ID功能,支持通过Snowflake算法和Segment算法生成全局ID
- hp-soa-starter-seata Seata启动器,开启Seata分布式事务功能,结合 Seata TC 提供分布式事务能力
- hp-soa-starter-sentinel Sentinel启动器,开启Sentinel流量控制功能,结合 Sentinel Dashboard 和 Nacos 提供流量控制和流控规则持久化能力
- hp-soa-starter-skywalking Skywalking启动器,开启Skywalking调用链跟踪功能,结合 Skywalking Agent 和 Skywalking Server 提供调用链跟踪能力
应用接入(参考:hp-demo)
- pom.xml 中添加 HP-SOA 依赖
<dependencyManagement> <dependencies> <!-- 添加 hp-soa 依赖管理 --> <dependency> <groupId>io.github.hpsocket</groupId> <artifactId>hp-soa-dependencies</artifactId> <version>${hp-soa.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- 普通项目引用 hp-soa-starter-web --> <dependency> <groupId>io.github.hpsocket</groupId> <artifactId>hp-soa-starter-web</artifactId> </dependency> <!-- Spring Cloud 项目引用 hp-soa-starter-web-cloud --> <!-- <dependency> <groupId>io.github.hpsocket</groupId> <artifactId>hp-soa-starter-web-cloud</artifactId> </dependency> --> <!-- Dubbo项目引用 hp-soa-starter-web-dubbo --> <!-- <dependency> <groupId>io.github.hpsocket</groupId> <artifactId>hp-soa-starter-web-dubbo</artifactId> </dependency> --> <!-- 根据项目需要,引用其它 hp-soa starter --> <dependency> <groupId>io.github.hpsocket</groupId> <artifactId>hp-soa-starter-xxx</artifactId> </dependency> </dependencies>
- 修改应用配置(参考 Demo hp-demo-bff-basic 的本地配置文件 ,配置中心的远程配置文件),主要配置项:
- hp.soa.web
- spring.cloud (Spring Cloud 项目)
- dubbo (Dubbo项目)
- server
- spring
- management
- springdoc
- 修改全局配置(可选)
- 系统配置文件,用于设置系统属性,默认配置文件:
/opt/hp-soa/config/system-config.properties
参考:system-config.properties - 扩展配置文件,用于配置注册中心地址、配置中心地址等公共属性,默认配置文件:
/opt/hp-soa/config/extended-config.properties
参考:extended-config.properties
- 系统配置文件,用于设置系统属性,默认配置文件:
- 实现HTTP鉴权接口(可选)
- 如果是Gateway/BFF应用,并且应用属性
hp.soa.web.access-verification.enabled = true
,则需要实现AccessVerificationService接口,用于HTTP请求鉴权。
- 如果是Gateway/BFF应用,并且应用属性
- 启动应用
- 以io.github.hpsocket.soa.framework.web.server.main.AppStarter作为启动类,启动应用程序。
- JVM启动参数参考:JVM启动参数示例
[用户指南]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
新增同步管理、操作日志模块,支持公共链接分享,DataEase 开源数据可视化分析平台 v2.3.0 发布
2024年2月5日,DataEase开源数据可视化分析平台正式发布v2.3.0版本。 这一版本的功能升级包括:新增“同步管理”功能模块,用户可通过此模块,将传统数据库中的数据定时同步到Apache Doris中,让数据分析更快速;新增“操作日志”功能模块,用户可以在此模块查看自己在DataEase中的所有操作记录,方便用户对日常操作进行审计;仪表板方面,支持对指定的仪表板或数据大屏进行公共链接分享;图表方面,新增支持透视表和指标卡,让仪表板和数据大屏的展现能力更加丰富;数据源方面,新增支持v11及以上版本的DB2数据源,进一步增强了数据处理的能力;在新版本中,DataEase还增加了对水印设置、API文档、日期范围组件等的支持。 此外,DataEase开源项目组还对其他一些常用的功能进行了功能优化和问题修复。 新增功能 ■ 同步管理:支持将传统数据库中的数据定时同步至Apache Doris DataEase v2.3.0版本新增“同步管理”功能模块,支持用户将传统数据库(例如Oracle、MySQL、SQL Server、DB2等)中的数据,通过设置定时同步任务的方式,定期同步到Ap...
- 下一篇
🧨🧨🧨CXYGZL-年前最后一波更新了~
概述 我们的工作流引擎采用了低代码方式,借鉴了钉钉和飞书的设计思路,旨在降低用户的使用门槛。相比基于BPMN.js的工作流引擎,我们的解决方案更容易上手,一般用户也能在几分钟内搭建自己的工作流程。这样,非专业人员也能轻松驾驭我们的工作流引擎,无需过于复杂的专业知识。 官网:程序员工作流 演示:演示网址 本次更新内容🎈 【新增】表单:分栏表单 【新增】表单:富文本 【优化】PC端改为PC样式显示,支持分栏表单布局 【优化】日期、日期时间和时间等三个表单支持默认值:发起时间 功能介绍 便捷 无论是在H5、微信小程序还是钉钉小程序,我们已经完美适配,让您可以随时随地启动流程、高效处理任务,并实时了解流程执行情况,助您紧握每一个重要瞬间,从未错过 好用 通过低代码方式,您只需简单的拖拽表单、自定义流程图,即可实现个性化的工作流程。一切配置都是所见即所得的,无需费心复杂的设置 专业 我们提供了广泛的专业功能,包括排他网关、包容网关、延时器、子流程等多种节点,以及流程监听器、动态表单权限等特色功能。这些功能的完美结合,确保流程与业务的无缝对接和完美衔接 强大 审批仅仅是我们提供的众多功能之一,无...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker快速安装Oracle11G,搭建oracle11g学习环境