社区
SpringCloud社区
交流讨论
帖子详情
Java 微服务框架 HP-SOA — 完整支持 Spring Cloud 和 Dubbo
Ldcsaa
2023-11-29 10:54:14
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)
[
用户指南
]
...全文
114
回复
打赏
收藏
Java 微服务框架 HP-SOA — 完整支持 Spring Cloud 和 Dubbo
Java 微服务框架 HP-SOA — 完整支持 Spring Cloud 和 Dubbo
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
spring
Cloud
+
dubbo
.zip
eureka注册和治理controller层的http服务,供前端组合接口数据,gateway负载均衡,zookeeper注册后端服务层,
dubbo
做底层服务治理,gateway->eureka->api->
dubbo
->zookeeper->service,例子中gateway为网关服务,core为eureka服务,
soa
为controller,server为底层
微服务
,
spring
Cloud
+
dubbo
的配合使用
微服务
架构选型
spring
boot 与
dubbo
的比较
本文档为
微服务
架构选型
spring
boot 与
dubbo
的比较,来自XX公司架构团队前期选型的真实整理,对
微服务
的架构选型有客观评价。
Spring
Cloud
Alibaba 从入门到精通1
诞生的背景企业级应用互联网解决的问题面向企业内,系统集成面向最终产品,解决扩展,维护的问题通信手段、数据等的不同只是表象,其本质区别还是由于两者诞生于不同历史时
2018最新
Spring
Cloud
视频教程
本套视频从面试题,到
Spring
Cloud
各种核心组件,到最终的
微服务
架构总结,帮助大家快速入门、上手并精通
微服务
框架
Spring
Cloud
。 课程中对比了
Dubbo
和
Spring
Cloud
,并深入讲授
Spring
Cloud
核心组件Eureka、Ribbon、Feign、Hystrix、HystrixDashboard、Zuul、Config。除此之外,还通过整合
Spring
MVC+
Spring
Boot+Mybatis构建一个可用的基于
Spring
Cloud
的
微服务
工程将上述技术组件逐步落地,让大家看得懂做得出学得会。
Dubbo
视频教程--基础篇--第01节--使用
Dubbo
对传统工程进行服务化改造的思路介绍.rar
Dubbo
视频教程--基础篇--第01节--使用
Dubbo
对传统工程进行服务化改造的思路介绍
SpringCloud社区
12
社区成员
78
社区内容
发帖
与我相关
我的任务
SpringCloud社区
以SpringCloud微服务为基础框架,整理整合企业级微服务应用开发框架,学习应用目前主流稳定的开源技术框架,集成常用的最佳项目解决方案,实现可直接使用的微服务快速开发框架。
复制链接
扫一扫
分享
社区描述
以SpringCloud微服务为基础框架,整理整合企业级微服务应用开发框架,学习应用目前主流稳定的开源技术框架,集成常用的最佳项目解决方案,实现可直接使用的微服务快速开发框架。
spring cloud
spring boot
微服务
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章