Java 微服务框架 HP-SOA v1.0. 6 发布 — 完整支持 Dubbo 和 Spring Cloud
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
- QQ Group: 44636872, 663903943
【快速开始】
技术架构
技术集成
- 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
FolkMQ 内存型消息中间件,v1.0.23
简介 采用 “多路复用” + "内存运行" + "快照持久化" + "Broker 集群模式"(可选)+ 基于Socket.D 网络应用协议开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、发布定时消息(Qos0、Qos1)、发布重试 消费端 订阅、取消订阅 消费端 消费-ACK(自动、手动) 服务端 发布-Confirm、订阅-Confirm、取消订阅-Confirm、派发-Retry、派发-Delayed 服务端 内存运行、快照持久化(自动、停机、手动) 服务端 集群热扩展 特点 高吞吐量、低延迟 FolkMQ 纯内存运行,每秒能处理几十万条消息,最低延迟不到1毫秒。 可扩展性 FolkMQ Broker 集群支持 folkmq-server 节点热扩展。流量高时随时加,流量低时可减 持久性、可靠性 消息被快照持久化(类似于 redis)到本地磁盘,并且支持数据备份防止数据丢失 高可用 集群内任何节点坏掉只要还有“一个”同类节点,仍可提供服务 快(单机版,180K TPS)。有点像 Redis 之于 MySql。 //使用 MacBook pr...
- 下一篇
『京墨』1.4.0 发布 |『京墨』开源免费的古诗词文(名句)、歇后语、成语等的阅读 APP
更新日志 优化古诗词文(名句)、歇后语、成语搜索结果点进去后,点击← → 导航只显示搜索结果中的内容; 古诗词文增加全文搜索,之前只能根据作者、标题搜索,本次更新后,可使用作者、标题、朝代、内容的中词组(句子)搜索; 添加有用的链接; 添加中国传统节日 19 个; 添加二十四节气; 添加绕口令 45 段; 添加知识卡片 464 组; 介绍 『京墨』开源、免费、公益性 APP。献给喜欢中华文字、文学、文化的人。 目前的内容有: 古诗词文 10000 首(阙、篇); 古诗词文名句 10000 句; 歇后语 14026 条; 成语 30895 条; 中国传统色 161 种; 中国传统节日 19 个; 二十四节气; 绕口令 45 段; 知识卡片 464 组; 使用的数据来自网络(主要是 Github 开源的仓库),可在项目仓库查看 README.md 中的说明。 源码仓库: https://github.com/hefengbao/jingmo https://gitee.com/hefengbao/jingmo
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Windows10,CentOS7,CentOS8安装Nodejs环境