社区
Java
技术交流
帖子详情
Java 微服务框架 HP-SOA — 完整支持 Spring Cloud 和 Dubbo
Ldcsaa
2023-11-29 10:56:13
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(支持多实例、可靠消息、Stream 消息)
消息队列: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-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 依赖
```xml io.github.hpsocket hp-soa-dependencies ${hp-soa.version} pom import
io.github.hpsocket hp-soa-starter-web io.github.hpsocket hp-soa-starter-xxx ``` 2. 修改应用配置(参考 Demo [hp-demo-bff-basic](https://gitee.com/ldcsaa/hp-soa/blob/master/hp-demo/hp-demo-bff-basic) 的[本地配置文件](https://gitee.com/ldcsaa/hp-soa/blob/master/hp-demo/hp-demo-bff-basic/src/main/resources/bootstrap.yml) ,配置中心的[远程配置文件](https://gitee.com/ldcsaa/hp-soa/blob/master/misc/nacos/config/namespace-DEV/GLOBAL_GROUP)),主要配置项: - hp.soa.web - spring.cloud (Spring Cloud 项目) - dubbo (Dubbo项目) - server - spring - management - springdoc 3. 修改全局配置(可选) - 系统配置文件,用于设置系统属性,默认配置文件:`/opt/hp-soa/config/system-config.properties`参考:[system-config.properties](https://gitee.com/ldcsaa/hp-soa/blob/master/misc/opt/hp-soa/config/system-config.properties) - 扩展配置文件,用于配置注册中心地址、配置中心地址等公共属性,默认配置文件:`/opt/hp-soa/config/extended-config.properties`参考:[extended-config.properties](https://gitee.com/ldcsaa/hp-soa/blob/master/misc/opt/hp-soa/config/extended-config.properties) 4. 实现 HTTP 鉴权接口(可选) - 如果是Gateway/BFF应用,并且应用属性`hp.soa.web.access-verification.enabled = true`,则需要实现[AccessVerificationService](https://gitee.com/ldcsaa/hp-soa/blob/master/hp-soa-framework/hp-soa-framework-web/src/main/java/io/github/hpsocket/soa/framework/web/service/AccessVerificationService.java)接口,用于HTTP请求鉴权。 5. 启动应用 - 以[io.github.hpsocket.soa.framework.web.server.main.AppStarter](https://gitee.com/ldcsaa/hp-soa/blob/master/hp-soa-framework/hp-soa-framework-web/src/main/java/io/github/hpsocket/soa/framework/web/server/main/AppStarter.java)作为启动类,启动应用程序。 - JVM启动参数参考:[JVM启动参数示例](https://gitee.com/ldcsaa/hp-soa/blob/master/misc/jvm/java-opts.txt)
[
用户指南
]
...全文
801
回复
打赏
收藏
Java 微服务框架 HP-SOA — 完整支持 Spring Cloud 和 Dubbo
Java 微服务框架 HP-SOA — 完整支持 Spring Cloud 和 Dubbo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Java
微服务
框架
HP
-
SOA
v1.0.6 发布 —
完整
支持
Dubbo
和
Spring
Cloud
HP
-
SOA
是功能完备、简单易用且高度可扩展的
Java
微服务
框架
。它集成了
spring
-boot、
spring
-
cloud
、
Dubbo
等多种技术,涵盖服务注册、配置、治理等多个方面。博客还介绍了其模块说明、应用接入步骤,包括添加依赖、修改配置、实现鉴权接口和启动应用等。
Java
微服务
框架
HP
-
SOA
1.0.5 —
完整
支持
Spring
Cloud
和
Dubbo
HP
-
SOA
是一个功能完备、易于使用的
Java
微服务
框架
,集成了
Spring
-boot、
Spring
-
cloud
、
Dubbo
等技术,还
支持
多种数据库、缓存、消息中间件和分布式解决方案。本文介绍了其技术架构、模块说明和如何在项目中集成使用。
Java
微服务
框架
HP
-
SOA
v1.1.2 发布
HP
-
SOA
是一款
Java
微服务
框架
,集成了
Spring
Boot、
Spring
Cloud
和
Dubbo
等技术,
支持
Nacos服务注册与配置管理、Seata分布式事务等功能,并提供了丰富的中间件集成方案。
EJB、
Dubbo
、
Spring
Cloud
对比
本文对比分析了EJB、
Dubbo
和
Spring
Cloud
三个
微服务
框架
,从社区活跃度、架构
完整
性等方面进行了详细的比较,并针对各
框架
的特点给出了建议。
Spring
Cloud
与
Dubbo
的比较
本文对比了
Dubbo
和
Spring
Cloud
两大
微服务
框架
。
Dubbo
是高性能的
Java
RPC
框架
,
支持
服务注册、发现、容错和负载均衡。
Spring
Cloud
则提供了一系列
微服务
解决方案,包括服务发现、配置中心、消息总线等。两者在传输协议、开发难度、注册中心选择等方面存在差异。
Java
51,408
社区成员
86,104
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章